technology_stack:java:oop
这是本文档旧的修订版!
面向对象
一个Java源文件可以包含多个类的定义,但只能定义一个public类,且public类名必须与文件名一致。如果要定义多个public类,必须拆到多个Java源文件中。
new方法,可以创造实例,如:
class Person{ public int x; public int y; } public class Main{ public static void main(String[] args){ Person a = new Person(); } }
访问类中的变量 → 使用this变量
继承
extends关键字
class Person { private String name; private int age; public String getName() {...} public void setName(String name) {...} public int getAge() {...} public void setAge(int age) {...} } class Student extends Person { private int score; public int getScore() { … } public void setScore(int score) { … } }
继承的特点:子类无法访问父类的private字段或private方法。
如果父类使用protected,则可以被子类使用。
super关键字
super关键字表示父类(超类)。子类引用父类的字段时,可以用super.fieldName。
在父类没有无参数构造函数的时候,就需要使用super(…)方法来构造父类。
多态
如果子类定义了父类方法签名完全相同的方法,则被称为覆写 (Override)。
在函数前进行注解,即 @Override ,可以让编译器帮助检查是否进行了正确的覆写。不过注解是不必须的。
Java的实例方法调用是基于运行时的实际类型的动态调用,而非变量的声明类型。即如果子类修改了某一方法,在后续使用父类引用时还是运行的该子类的方法。
多态允许添加更多类型的子类实现功能扩展,却不需要修改基于父类的代码。
/app/www/public/data/attic/technology_stack/java/oop.1678073882.txt.gz · 最后更改: 2023/03/06 03:38 由 温婕莺