访问修饰符
访问修饰符是指在编写程序中的方法或属性的过程中, 对方法或属性强加的限定符,访问修饰符可以决定在什么样的情况下你能够访问(使用)这些方法或属性, 什么情况下不能访问访问修饰符的出现,提高了Java
程序的安全性,灵活使用访问修饰符,可以避免代码滥用、访问越界,有
效控制程序结构
方法及属性的访问修饰符
private——
私有权限
默认修饰符(不用修饰符)
——
家庭权限
protected
修饰符
——
家族权限
public
修饰符
——
完全开放
类(接口)的访问修饰符
public
,
public
类必须定义在和类名同名的文件中,
虽然一个文件内可以放置多个类,但并不推荐大家这么做,最好是一个文件内只定义一个类,且类名和文件名相同。如果一个类被定义为public
的,那么这个类将能在任意地方使用,这就是之前我们定义的类一直都是public
的原因。 默认,如果一个类前没有加任何访问修饰符,那么这个类其实遵循了默认访问限制。也就是说,只有在同一个包中的类,才能使用该类
抽象类是一个有抽象修饰符的类(abstract)
抽象类可以没有抽象方法
抽象方法必须写在抽象类中
抽象方法不能有方法体
抽象类不能实例化
子类必须实现抽象类中的抽象方法,除非这个类也是抽象类
接口是一种约定
生活中,我们使用的两相电源插座,规定了:
◦
两个接头间的额定电压
◦
两个接头间的距离
◦
接头的形状
接口使得即插即用在程序里成为可能。因此接口定义的是多个类共同的公共行为规范,这些行为是与外部交流的通道,这就意味着接口里通常是定义一组公用的未实现的方法
面向对象的特点主要概括为抽象性,继承性,封装性和多态性
抽象类是从多个类中抽象出来的模板,如果将这种抽象进行的更为彻底,则可以提炼出一种更加特殊的“抽象类” ——
接口(interface)
接口里不能包含普通方法,这和抽象类不同,在接口中,所有的方法都必须是抽象的
定义一个接口需要使用interface关键字
接口的成员列表只能包含抽象方法及常量,常量必须在接口中定义的时候就初始化。
接口的所有成员默认都是
public
的
接口没有构造方法,也就是说,接口和抽象类一样不能创建自己的对象
接口可以继承接口,和类不同的是,接口继承其他接口的时候,是可以多继承的
抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被synchronized修饰?
都不能
抽象方法需要子类实例化,静态的方法无法被重写
本地方法是由本地代码实现的,而抽象方法是没有实现的
synchronized和方法的实现细节有关,抽象方法不涉及实现细节
都不能
抽象方法需要子类实例化,静态的方法无法被重写
本地方法是由本地代码实现的,而抽象方法是没有实现的
synchronized和方法的实现细节有关,抽象方法不涉及实现细节
2021/12/13