5.11
修饰符
访问控制符修饰成员时的访问权限如下:
| 修饰符 | 本类 | 同一个包中的类 | 子类 | 其他类 |
| public | 可以访问 | 可以访问 | 可以访问 | 可以访问 |
| protected | 可以访问 | 可以访问 | 可以访问 | 不可访问 |
| 默认 | 可以访问 | 可以访问 | 不可访问 | 不可访问 |
| private | 可以访问 | 不可访问 | 不可访问 | 不可访问 |
接口
概述:接口可以看成是特殊的抽象类。即只包含有抽象方法的抽象类;
接口的实现:
1、与继承不同,一个类可以实现多个接口,实现的接口直接用逗号分隔。当然,该类需要实现这些接口中定义的方法;
2、 一个类可以通过implements关键字“实现”接口。一个类实现了某个接口后必须实现该接口中定义的所有方法;
3、接口间可以存在继承关系,一个接口可以通过extends关键字继承另外一个接口。子接口继承了父接口中定义的所有方法。
interface A{
public abstract void run();
}
interface B extends A{
public void hunt();
}
class C implements B{
public void run(){
}
public void hunt() {
// TODO Auto-generated method stub
}
}
接口的优点:
1、类与接口的关系,实现关系,而且是多实现,一个类可以实现多个接口,类与类之间是继承关系,Java中的继承是单一继承,一个类只能有一个父类,打破了继承的局限性;
2、对外提供规则(USB接口);
3、降低了程序的耦合性(可以实现模块化开发,定义好规则,每个人实现自己的模块,提高了开发的利用率)
抽象类:
abstract :关键字,用于修饰方法和修饰类
抽象方法:不同类的方法是相似的,但是具体实现的内容不一样,所以只能抽取它的声明,没有具体的方法体
抽象类:有抽象方法的类就是抽象类
一个类继承了抽象类,需要重写抽象类中的抽象方法
抽象类特点:
1、抽象方法只能放在抽象类中;
2、抽象类和抽象方法都是被abstract修饰的;
3、抽象类不能创建对象(不能被实例化);
4、抽象类中可以有非抽象方法的;
5、抽象类和类的关系是继承关系;
6、如果一个类继承了抽象类,那么就重写所有的抽象方法,要么就它本身设置为抽象类。