首页 > 编程语言 >Java课程学习总结

Java课程学习总结

时间:2025-01-02 22:53:05浏览次数:5  
标签:总结 sound Java 子类 代码 课程 Animal public

学号202302151042 陈辉扬

  1. Java基础概念

    • Java是一门面向对象的编程语言,以其跨平台性著称。Java代码被编译为字节码(bytecode),通过JVM在不同的平台上运行,无需重新编译。
    • Java提供了多种数据类型,包括整数类型(byte、short、int、long)、浮点类型(float、double)、字符类型(char)和布尔类型(boolean)。
  2. 面向对象编程(OOP)

    • OOP是Java的核心特性之一,以对象作为程序的基本单元,将算法和数据封装其中,提高了代码的复用性、灵活性和可维护性。OOP的三大特性是封装、继承和多态。
  3. 集合框架

    • Java集合框架是一套用于存储和操作对象的强大工具,简化了数据结构的操作,提高了代码的可读性和可维护性。集合框架的核心是Collection接口,它定义了所有集合共有的操作,如添加、删除、遍历等。
  4. 异常处理机制

    • 异常是指在程序执行过程中出现的一些意外情况,如空指针引用、文件不存在等。Java的异常处理机制包括try-catch-finally结构、异常链和自定义异常等。
  5. 多线程编程

    • Java内置对多线程的支持,能够轻松处理并发任务。多线程编程的要点包括线程的创建与启动、线程同步与通信、线程池的使用等。
  6. 网络编程基础

    • Java提供了丰富的网络编程API,支持TCP/IP和UDP等协议。网络编程的基础包括Socket编程和URL编程。
  7. JVM与内存管理

    • Java虚拟机(JVM)是Java跨平台特性的核心。JVM的内存管理包括堆内存、栈内存、方法区和本地方法区等。JVM的垃圾回收机制(Garbage Collection, GC)自动管理堆内存中的对象,减少了手动处理内存泄漏和指针操作带来的复杂性。
  8. 设计模式应用

    • 设计模式是解决常见软件设计问题的最佳实践。Java中常用的设计模式包括单例模式、工厂模式、观察者模式、代理模式等。

代码示例

// Java基础概念示例
int age = 25;
float salary = 5000.50f;
char gender = 'M';
boolean isMarried = false;

// 面向对象编程示例
class Person {
    String name;
    int age;
    void sayHello() {
        System.out.println("你好,我是" + name + ",今年" + age + "岁。");
    }
}
Person person = new Person();
person.name = "张三";
person.age = 25;
person.sayHello(); // 输出:你好,我是张三,今年25岁。

// 集合框架示例
List<String> names = new ArrayList<>();
names.add("张三");
names.add("李四");
System.out.println(names.get(1)); // 输出:李四

// 异常处理示例
try {
    // 可能会抛出异常的代码
} catch (Exception e) {
    e.printStackTrace();
} finally {
    // 无论是否抛出异常都会执行的代码
}

首先,我们定义一个父类Animal,它有一个方法sound,用于输出动物的声音。

javaCopy Code   public class Animal { public void sound() { System.out.println("Animal makes a sound"); } }

然后,我们定义两个子类DogCat,它们都继承自Animal,并重写了sound方法。

  public class Dog extends Animal { @Override public void sound() { System.out.println("Dog barks"); } } public class Cat extends Animal { @Override public void sound() { System.out.println("Cat meows"); } }

最后,我们编写一个测试类Main,通过父类引用来指向子类对象,展示多态的特性。

  public class Main { public static void main(String[] args) { Animal myDog = new Dog(); // 父类引用指向子类Dog对象 Animal myCat = new Cat(); // 父类引用指向子类Cat对象 myDog.sound(); // 输出: Dog barks myCat.sound(); // 输出: Cat meows } }

报告心得

在编写这个Java面向对象的继承和多态的例子代码时,我有以下几点心得:

  1. 继承提高了代码复用性‌:通过继承,子类可以继承父类的属性和方法,避免了重复代码,提高了代码的可维护性。在这个例子中,DogCat都继承了Animalsound方法,但各自提供了具体的实现。

  2. 多态增加了代码的灵活性‌:多态允许我们用父类引用来指向子类对象,这样我们就可以在运行时根据需要动态地决定调用哪个子类的方法。在这个例子中,myDogmyCat都是Animal类型的引用,但它们实际指向的对象不同,因此调用sound方法时会有不同的输出。

  3. 封装保护了对象的状态‌:虽然这个例子中没有直接展示封装,但在实际编程中,封装是非常重要的。通过将对象的属性和方法设为私有,并提供公共的访问方法来控制对私有属性的访问,可以保护对象的状态不被意外修改。

  4. 面向对象编程提高了代码的可读性‌:通过将对象的属性和方法封装在一起,并通过继承和多态来实现代码的重用和扩展,面向对象编程使得代码更加清晰、易于理解和维护。


 

标签:总结,sound,Java,子类,代码,课程,Animal,public
From: https://www.cnblogs.com/baifan233/p/18648883

相关文章

  • 自联接总结
    SELECTam2.*,am.midassubmid,am.menunameassubmenuname,am.urlassuburl,am.glyphiconassubglyphiconfromadmin_menuaminnerjoinadmin_menuam2onam.pid=am2.mid用父表pid(父级字段)到子表mid进行匹配,用父表数据进行逐行匹配1.表结......
  • Java 后端 RESTful API
    RESTfulAPI是最常用的API设计风格之一,下面我们来设计几个RESTfulAPI接口。创建控制器类:vimcontroller/GreetingController.javapackagecom.example.demo.controller;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web......
  • 列表、集合与映射:存储你的Java宝藏
    1集合框架概览Java集合框架主要由以下几个部分组成:List:一个有序的集合,可以包含重复的元素。Set:一个不允许重复的集合,没有固定的顺序。Map:一个键值对集合,键是唯一的,每个键映射到一个值。2List接口List接口是一个有序的集合,可以包含重复的元素。List提供了一系列......
  • Java 后端入门
    我们将使用SpringBoot构建一个简单的后端项目,SpringBoot是一个流行的Java后端框架。创建SpringBoot项目:使用SpringInitializr来生成一个SpringBoot项目。选择需要的依赖,比如SpringWeb。Project选择MavenLanguage选择JavaSpringBoot选择最新的非......
  • Java中使用JFreeChart生成甘特图
    引言甘特图是一种流行的项目管理工具,用于显示项目的进度和任务分配。它通过条形图显示任务的开始和结束时间,使项目经理能够直观地了解项目的整体情况。在Java开发中,JFreeChart是一个强大的开源图表库,能够生成各种类型的图表,包括甘特图。本文将详细介绍如何在Java中使用JFreeChart......
  • springboot毕设 课程思政学习网站程序+论文
    系统程序文件列表开题报告内容研究背景在当今高等教育体系中,课程思政已成为培养学生综合素质、促进全面发展的重要途径。随着信息技术的飞速发展,互联网已成为学生学习、交流和信息获取的主要平台。然而,现有的教育资源在课程思政方面的整合与呈现方式尚显不足,难以满足学生多......
  • 2024 OI 总结
    OI年度总结2024高考年没怎么学OI,放几个大伙知道的:洛谷写下了\(52.36kb\)代码,通过\(18\)道题。最高等级分\(0\)分,超越\(0\%\)的用户(赢麻了✌)!关键词:科学探索Codeforces通过\(201\)道题,打了\(13\)场比赛,其中\(1\)场排名赛。Rating变化:\(2184->2182\),......
  • Java 线程相关的面试题
    Java线程相关的面试题是许多企业在考察Java并发编程能力时的重点内容。以下是一些常见的面试题及答案思路。1.什么是线程?线程和进程的区别是什么?线程是操作系统调度的最小单位,是进程中的一个执行单元。进程是资源分配的基本单位,每个进程拥有独立的内存空间。区别:线......
  • 基于java的SpringBoot/SSM+Vue+uniapp的多媒体素材管理系统的详细设计和实现(源码+lw+
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • 基于java的SpringBoot/SSM+Vue+uniapp的在线政务服务中心的详细设计和实现(源码+lw+部
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......