this/super/static/final/匿名对象/继承/抽象类/访问权限修饰符

Posted 胡广勤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了this/super/static/final/匿名对象/继承/抽象类/访问权限修饰符相关的知识,希望对你有一定的参考价值。

1.this关键字的作用
     1)调用本类中的属性;
     2)调用本类中的构造方法;且只能放首行,且必须留一个构造方法作为出口,即不能递归调用
     3)表示当前对象;


2.匿名对象
     直接new出来的对象,不创建变量名,且只能使用一次,通常作为方法的参数及返回值使用

3.继承
     继承是面向对象的三大特征之一,通过关键字:extends实现,被继承的类称为父类(也称作基类/超类),实现继承的类称为子类(也称作派生类)。
     特点:
     (1)通过继承,子类可以直接访问父类中非私有的属性及方法
     (2)类的继承只允许单继承,但是可以多层继承;接口可以多继承;
     (3)构造方法不可继承;
     注意事项:
     (1)子类对象的实例化过程是先调用父类的构造器,再调用子类的构造器;
     (2)子类程序调用方法,先调用子类方法,如果子类没有再调用父类中的方法;
     (3)子类中若与父类中定义了同名变量,则不会覆盖父类中的同名变量.或是子类中定义了同名方法则会完全覆盖父类中的方法.

4.方法重写(Override)
     子类中定义了与父类中同样的方法,包括函数名/返回值/参数类型等 ,只是执行主体发生改变.注意重写方法的权限应大于等于父类权限
     重写方法抛出的异常不能大于原方法抛出的异常


5.super关键字
     使用super关键字从父类中调用中构造方法/普通方法/属性
     只能放首行,所以无法与this同时出现在同一代码块中

6.抽象类
     关键字abstract
     在父类仅知道方法名称,而不能涵盖方法主体的具体内容时,可以仅定义方法名称.具体方法实现由子类具体实现,方法名称中需包含abstract关键字
     格式:访问权限    abstract    返回值    方法名();

7.static关键字和静态代码块
     1)static可用于修饰属性:声明为全局属性或静态属性/类属性,建议由类直接访问(可以通过实例化对象访问,但不建议)
     2)用于修饰方法:为全局方法,可被非static方法调用.static只能调用static修饰的方法
     3)修饰代码块,成为静态代码块.静态代码块先于main方法执行/先于构造代码块执行.且只能使用一次
     静态代码块--构造块--main---构造方法


8.final关键字
     1)final声明的类不能被继承
     2)final声明的方法不能被重写
     3)final声明的变量成为常量,不可以被修改

以上是关于this/super/static/final/匿名对象/继承/抽象类/访问权限修饰符的主要内容,如果未能解决你的问题,请参考以下文章

14. java面向对象 - 基础

专题三 面向对象

java面向对象编程(上)

3-面向对象

java.面向对象设计的核心——类和对象

重新梳理IT知识之java-05面向对象