目录
final
最终的——>不可变的。
修饰方法
最终方法,不可被子类重写。
如果方法是一个规则,那么使用final修饰!
修饰类
最终类,不能被继承。
没有子类。
如String类。
在源码中常用,但自己使用并不常用。
变量
称常量,只能被赋值1次。
常被使用。且变量被final修饰时,必须即刻被赋值。
final int i = 3;//final int i;,试图之后赋值是不行的
常量的使用细则
其中,命名规范中的下划线,是定义常量时特有的符号。不在定义变量、函数时使用。
PI
NUM_PI
权限修饰符的分类
自己使用 < 自己使用&本包中可以使用 < 自己使用&本包中可以使用&其他包中也可以使用 < 全部可以使用
private:只能自己使用。
默认(空白):最多只能在本包中使用。
protected:最多其他包中也能用。
public:全部范围都可以使用。
实际使用中修饰符的使用
代码块
目录根据出现的位置不同,分为三类。
局部代码块
写在方法里面的一对单独的代码块。提前结束代码的生命周期。使用完立刻回收。(变量只在所属的代码块中有效)起到节约内存的作用,但现在已经不再被常用(因为计算机硬件的快速发展,多定义几个变量,几个字节的空间,不会有多大的影响)。
{
//大括号内部的内容
}
构造代码块
成员变量位置的代码块,在创建类的对象时,会优先于构造方法执行。一般是空参构造与带参构造中的重复代码部分。
每一次创建对象的时候都会执行。(与静态代码块的区别)
但由于并不是所有的构造方法都会执行相同的代码块,因为这个“不灵活”的特点,构造代码块已经逐渐被放弃使用。取而代之的是,新建一个方法来调用。
静态代码块
类加载初始化时使用
也可以采用自定义方法来取代静态代码块进行初始化,但是程序每次运行到这个方法都会运行所有内容。不如只运行一次的静态代码块优异。
抽象类
封装、继承、多态是面向对象的三个特征。
一个子类共有的方法被抽取到父类中,但是因为子类的差异无法确定具体的方法体内容,必须在子类中重写。但可能会遇到忘记在具体的子类中重写方法的情况。使用抽象方法解决这个问题。
抽象方法必须重写!抽象方法所在的类叫做抽象类。
抽象类与抽象方法的定义格式
public class Person {
public void commonMethod() {
//普通方法体有{}
};
public abstract void work();// 抽象方法
//每个子类的方法体不同,故而抽象方法处没有方法体{}
}
抽象类和抽象方法的注意事项
抽象类中构造方法的作用:当创建子类对象时,给子类共有属性赋值使用。(子类创建对象时,带参构造中传入的参数,实际上会被传入父类中进行赋值。)
抽象类和抽象方法的意义
抽取各个子类的共性时,无法确定方法体就把方法定义为抽象。强制让子类按照某种格式重写。
强制子类必须重写方法(统一)。避免多个有共性的子类之间,同一功能的命名不同而导致合作开发不顺利。
标签:java,子类,代码,修饰符,抽象,使用,抽象类,方法 From: https://www.cnblogs.com/xiaoaozi/p/17063286.html