代码块、内部类、继承、多态

一、代码块

代码块:在对象创建之前就优先会被调用

静态代码块:使用static修饰的初始化代码块.在主方法执行之前执行,而且只执行一次

                     静态代码块里不能调用成员变量和实例方法

格式:

修饰符{

      预先执行的内容

  }

代码块里变量属于局部变量,只在自己所在区域(前后的{})内有效。 



注:类里面可以有多个代码块,执行顺序和出现的先后顺序相同,但 尽量不要在类里面写多个代码块

二、内部类

内部类,在一个类的内部定义另一个类。嵌套类分为两种,即静态嵌套类和非静态嵌套类。静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为内部类。内部类几乎可以处于一个类内部任何位置,可以与实例变量处于同一级,或处于方法之内,甚至是一个表达式的一部分。

 内部类对象可以访问创建它的对象的实现,包括私有数据;

 内部类不为同一包的其他类所见,具有很好的封装性;

 非静态的内部类可以访问外部类的属性和方法;


三、继承

通过extends关键字来实现

1、 A extends B,子类可获得父类的方法和属性,并且在需要时可添加自己的属性和方法

* Java里面只能单继承 可变向多继承

* 所有的类都是直接或间接继承于object类

2、如果在子类里面需要调用父类的方法或者显示调用父类的属性 使用super

格式:super.变量名;

           super,方法名;

例:

class Person1{

  public void walk() {

  System.out.println("走路");

 }

}

class Student extends Person1{

public void walk(){

    super.walk();//主动调用父类的方法,实现父类的功能

    System.out.println("学生优雅的走路");

}

}

public class TestExtends{

public static void main(String[] args){

Student xw=new Student();

xw.walk;

}

结果:

走路

学生优雅的走路

四、多态

多态

1、同一个方法 多种实现=在不同的子类中有不同的实现

 2、如果有继承关系:子类的对象可以使用父类的变量接收--类型的自动向上转换,从子类向父类转

3、弊端:当父类引用指向子类对象时,虽提高了扩展性,但只能访问父类中具备的方法,不可访问子类中的方法;即访问的局限性。

父类:A 子类:B、C

五、应用


代码


结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容