this 用来指向本类的对象
1.this的特殊使用方法
如果一个类有几个构造方法,可以用this在一个构造方法里调用另一个构造方法。
class person
{
person()
{
this( (),"");//""是另一构造方法的参数,这条调用语句必须放在第一句
}
.......
}
super用来指向父类的对象
特殊用法
a.用来调用 被子类覆盖的 父类的方法
b.用来调用父类的构造函数
class Student extends Person{
Student(string name, int age, string school)
{
super(name, age);//这条调用语句必须放在第一句
this.school = school;
}
}
2.Java支持单继承:一个类只能有一个直接父类。(这与C++不同,C++是支持多继承的)
3.继承的写法
class Student extends Person{
..........
}
如果没有extends子句,则该类默认为java.lang.Object的子类
4.覆盖:@Override可以用这个注记来表示,也可以不写
5.子类的对象可以当父类的对象用,但父类的对象不可以当子类的对象用。
例如:学生是人,但人不一定是学生。
不过父类对象可以强制转换为子类对象,编译能通过,运行就不行。
6.包 (package) 用来解决命名空间的问题。
- 同一包中的类,默认情况下是可以相互访问的。
- 包没有继承关系,使用(*)只能导入本层次所有的类,不能导入子层次的类
- 默认导入 java.lang.*
7.修饰符
- 类的访问控制符只有public或默认,默认是指只能被同包里的类访问
- 默认就是包可访问
- protected 包含可以被不同包里的子类访问
8.static 方法中不能用this super
9.final 修饰类表示类不能被继承,不能有子类;修饰方法表示不能被子类的方法覆盖;修饰变量表示变量只能被赋值一次。
10.static final 表示常量
11.abstract: 抽象方法没有方法体。抽象方法必须在子类中实现。