学号202302151042 陈辉扬
-
Java基础概念
- Java是一门面向对象的编程语言,以其跨平台性著称。Java代码被编译为字节码(bytecode),通过JVM在不同的平台上运行,无需重新编译。
- Java提供了多种数据类型,包括整数类型(byte、short、int、long)、浮点类型(float、double)、字符类型(char)和布尔类型(boolean)。
-
面向对象编程(OOP)
- OOP是Java的核心特性之一,以对象作为程序的基本单元,将算法和数据封装其中,提高了代码的复用性、灵活性和可维护性。OOP的三大特性是封装、继承和多态。
-
集合框架
- Java集合框架是一套用于存储和操作对象的强大工具,简化了数据结构的操作,提高了代码的可读性和可维护性。集合框架的核心是Collection接口,它定义了所有集合共有的操作,如添加、删除、遍历等。
-
异常处理机制
- 异常是指在程序执行过程中出现的一些意外情况,如空指针引用、文件不存在等。Java的异常处理机制包括try-catch-finally结构、异常链和自定义异常等。
-
多线程编程
- Java内置对多线程的支持,能够轻松处理并发任务。多线程编程的要点包括线程的创建与启动、线程同步与通信、线程池的使用等。
-
网络编程基础
- Java提供了丰富的网络编程API,支持TCP/IP和UDP等协议。网络编程的基础包括Socket编程和URL编程。
-
JVM与内存管理
- Java虚拟机(JVM)是Java跨平台特性的核心。JVM的内存管理包括堆内存、栈内存、方法区和本地方法区等。JVM的垃圾回收机制(Garbage Collection, GC)自动管理堆内存中的对象,减少了手动处理内存泄漏和指针操作带来的复杂性。
-
设计模式应用
- 设计模式是解决常见软件设计问题的最佳实践。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
,用于输出动物的声音。
public class Animal { public void sound() { System.out.println("Animal makes a sound"); } }
然后,我们定义两个子类Dog
和Cat
,它们都继承自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面向对象的继承和多态的例子代码时,我有以下几点心得:
-
继承提高了代码复用性:通过继承,子类可以继承父类的属性和方法,避免了重复代码,提高了代码的可维护性。在这个例子中,
Dog
和Cat
都继承了Animal
的sound
方法,但各自提供了具体的实现。 -
多态增加了代码的灵活性:多态允许我们用父类引用来指向子类对象,这样我们就可以在运行时根据需要动态地决定调用哪个子类的方法。在这个例子中,
myDog
和myCat
都是Animal
类型的引用,但它们实际指向的对象不同,因此调用sound
方法时会有不同的输出。 -
封装保护了对象的状态:虽然这个例子中没有直接展示封装,但在实际编程中,封装是非常重要的。通过将对象的属性和方法设为私有,并提供公共的访问方法来控制对私有属性的访问,可以保护对象的状态不被意外修改。
-
面向对象编程提高了代码的可读性:通过将对象的属性和方法封装在一起,并通过继承和多态来实现代码的重用和扩展,面向对象编程使得代码更加清晰、易于理解和维护。
标签:总结,sound,Java,子类,代码,课程,Animal,public From: https://www.cnblogs.com/baifan233/p/18648883