修饰符: public protected 默认 private
本类 可以 可以 可以 可以
同一个包中的类 可以 可以 可以 不能
子类 可以 可以 不能 不能
其他类 可以 不能 不能 不能
private的使用
- 通过对象直接访问成员变量,这样操作,会引起数据的安全问题
- 考虑:能不能不让外界直接访问对象的成员变量????
- 使用private解决
-
是一个修饰符private:
可以修饰成员变量,也可以修饰成员方法
被private修饰的成员只能在本类中被访问 - 提供相应的getXxxx()和setXxxx()方法用于获取和设置成员变量的值
- 方法用public修饰
接口可以看成是特殊的抽象类,即只包含有抽象方法的抽象类
与继承不同,一个类可以实现多个接口,实现的接口直接用逗号分隔,该类需要实现这些接口中定义的所有方法
一个类可以通过implements关键字实现接口,一个类实现了某个接口后必须实现该接口中定义的所有方法
接口:
-
成员特点:
-
2.只能有常量,默认使用(只能使用)public abstract 修饰方法1.只能使用抽象方法
3.默认使用public static final 修饰成员变量 -
使用时注意:
-
2.类和接口是实现关系,一个类实现一个接口必须实现它所有的方法1.接口不能被实例化
类与接口关系,实现关系,而且是多实现,一个类可以实现多个接口,类与类之间是继承关系,Java中的继承是单一继承,一个类只能有
一个父类,打破了继承的局限性
对外提供规则
降低了程序的耦合性(可以实现规模化开放,定义好规则,每个人实现自己的模块,提高了开发的效率)
抽象类
abstract:关键字,用于修饰方法和修饰类
抽象方法:不同类的方法是相似的但是具体实现的内容不一样
所以我们只能抽取它的声明,没有具体的方法体
抽象类:有抽象方法的类就是抽象类
一个类继承了抽象类,需要重写抽象类中的抽象方法
抽象类的特点:
1.抽象方法只能放在抽象类中
2.抽象类和抽象方法都是被abstract修饰的
3.抽象类不能创建对象(不能被实例化)
4.抽象类中可以有非抽象方法的
5.抽象类和类的关系是继承关系
6.如果一个类继承了抽象类,那么久重写所有抽象方法,要么就它本身设置为抽象类