java基础二-面向对象的三大特性

面向对象的是三大特性

封装

一.概念

将类的信息隐藏在类的内部,不允许外部程序直接访问,通过类提供的方法实现对隐藏信息的操作和访问

封装的两大原则

  • 尽可能多的东西藏起来对外部提供一个便捷的接口
  • 所有属性藏起来
二.封装的步骤

1.定义私有属性

2.生成getter()/setter()方法封装 右键-generate getter/setter 获取到属性 赋值属性

3.创建一个有参构造和无参构造  右键 generate Constructor

4.生成toString方法 右键 generate toString

类的访问修饰符

 

 

 static修饰符
  • 成员方法
    •   静态方法,可以直接通过类名访问
  • 代码块
    •   静态代码块,当java虚拟机加载类时,自动执行该代码块
  • 成员变量
    •  静态变量,可以通过类名访问

 

 结果:静态代码块 10

继承  extends

继承就是子类继承父类的特征和行为,是的子类对象(实例)具有父类德实例域和方法,或者子类从父类集成方法,是的子类具有父类相同的行为.

继承父类方法并调用

 

 类继承的特点

1. java只支持单继承

2.支持多层继承(继承体)

3.子类可以使用父类,父类不允许使用子类

继承的注意事项

1.只能继承public和protected修饰的属性和方法(不管子类父类是否在同一个包里)

2.子类不能继承父类的构造方法

3.子类可以拥有自己的属性和方法,子类可以对父类进行扩展

this super的区别和应用

this:代表当前引用

super:代表父类的引用

 

 输出:10 30 20

继承构造运行机制

子类中所有构造方法都会默认访问父类的构造方法

子类会继承父类的数据,可能子类的饿数据,所以在初始化子类前还会初始化父类

 

 输出:Father的无参构造方法 son的无参构造方法

 多态

多态是同一个行为具有不同表现形式或形态的能力

非静态属性的重写

三个特点

1. 要有继承

2.要有重写

3.父类引用值项子类的对象 Animal a = new Dog(); 父类引用子类对象  ##成员变量没有重写的概念

 

 

输出:啃骨头

多态成员的特点

1. 静态属性 没有多态

2.非静态属性 没有多态  ====> 不涉及重写

3.静态方法 没有多态

静态方法的白哦用是用变量类型的类名去调用 (变量类型 变量 = new 对象)  

 向上转型

1. <父类型><引用变量名> = new <子类型>();

2.此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法

3.此时通过父类引用变量无法调用子类特有的方法

向下转型

1. <父类型><引用变量名> = (<子类型>)<父类型的引用变量>;

2.在向下转型的过程中,如果没有转化为真实子类类型,会出现类型转换异常

多态的优缺点

优点:提高了代码的扩展性和可维护性

缺点:无法直接访问子类特有成员

posted @ 2023-03-11 17:21  lisenMiller  阅读(24)  评论(0编辑  收藏  举报