方法
构造方法
方法重载
在一个类中,我们可以定义多个方法。如果有一系列方法,它们的功能都是类似的,只有参数有所不同,那么,可以把这一组方法名做成同名方法。
方法名相同,但各自的参数不同,称为方法重载(Overload
)。
注意:方法重载的返回值类型通常都是相同的。
方法重载的目的是,功能类似的方法使用同一名字,更容易记住,因此,调用起来更简单。
继承
instanceof
实际上判断一个变量所指向的实例是否是指定类型,或者这个类型的子类。如果一个引用变量为null
,那么对任何instanceof
的判断都为false
。
区分继承和组合
继承是is关系,组合是has关系。
多态与@Override
Java的实例方法调用是基于运行时的实际类型的动态调用,而非变量的声明类型。
这个非常重要的特性在面向对象编程中称之为多态。它的英文拼写非常复杂:Polymorphic。
定义:多态是指,针对某个类型的方法调用,其真正执行的方法取决于运行时期实际类型的方法。
多态具有一个非常强大的功能,就是允许添加更多类型的子类实现功能扩展,却不需要修改基于父类的代码。
Final
1. 如果一个类不希望任何其他类继承自它,那么可以把这个类本身标记为final
。用final
修饰的类不能被继承。
2. 继承可以允许子类覆写父类的方法。如果一个父类不允许子类对它的某个方法进行覆写,可以把该方法标记为final
。用final
修饰的方法不能被Override
。
3. 对于一个类的实例字段,同样可以用final
修饰。用final
修饰的字段在初始化后不能被修改。可以在构造方法中初始化final字段:
class Person { public final String name; public Person(String name) { this.name = name; } }
这种方法更为常用,因为可以保证实例一旦创建,其final
字段就不可修改。
4. 用final
修饰局部变量可以阻止被重新赋值。
抽象类abstract class与接口 interface
静态字段和静态方法
包与作用域
内部类
classpath和jar
模块