Java基础——面向对象三大特征(继承封装多态)
Posted 卡卡西~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础——面向对象三大特征(继承封装多态)相关的知识,希望对你有一定的参考价值。
面向对象三大特征(继承、封装、多态)
1 继承
class Parent
属性;
构造方法;
其它方法;
class Child extends Parent
全部继承过来;
可以重写父类的属性与方法;
可以拥有自己独特的属性和方法;
- 继承语法——extends
- 一个子类只能继承一个父类,一个父类可以由多个子类继承:一个儿只能有一个爹,一个爹可以有好几个儿
- 多个子类继承同一个父类时,每创建一个子类对象的同时,JVM都会默认调用父类的构造方法创建一个父类对象,即在具体对象面前,父类对象与子类对象是一对一实现
- 父类都默认继承了超类Object中的所有属性与方法,子类继承父类就不会再继承Object类,但也间接继承了Object类
- 子类会直接获取到父类所有的属性与方法,当子类与父类含有相同的属性时,可以用关键字this和super进行区分
class Parent
String name = "fu";
class Child extends Parent
String name = "zi";
void test()
输出super.name; // 输出父类的name,fu
输出this.name; // 输出子类的name,zi
- 子类可以重写父类的方法(不包括构造方法),父类的方法不会被覆盖掉,依旧可以用super关键字调用
- 子类重写父类方法时,方法名、返回值类型、参数列表要和父类方法一致
2 封装
- 简单来说就是,将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问成员变量private,提供对应的 getXxx()/setXxx() 方法
- 好处就是,通过方法来实现成员变量的操作,提高了代码的安全性,把代码用方法进行封装,提高了代码的复用性
3 多态
// Boy和Girl继承了Person类
// 体现了多态
Person p1 = new Person();
Person p2 = new Boy();
Person p3 = new Girl();
p3.testGirl(); // testGirl为Girl类下的方法,不能执行,因为这个时候的p3并不是真正的Girl,体现了约束
Girl p4 = new Girl();
p3.testGirl(); // 能执行,这个时候的p4是真正的Girl
- 多态其实就是一个对象在不同场景下表现出来的不同状态和形态,在不同场景下同一个对象表现出来的能力是不同的
- 多态语法常用来约束对象的使用场景
4 方法重载
- 一个类中不允许声明相同的属性和相同的方法(即方法名、参数数量、参数顺序、参数名都相同)
- 构造方法也有方法重载
java面向对象的三大特征?
面向对象三大特性继承:一般类只能单继承,内部类实现多继承,接口可以多继承
封装:访问权限控制public > protected > 包 > private 内部类也是一种封装
多态:编译时多态,体现在向上转型和向下转型,通过引用类型判断调用哪个方法(静态分派)。
运行时多态,体现在同名函数通过不同参数实现多种方法(动态分派)。
希望对您有所帮助!~ 参考技术A 封装 继承 多态
封装一般是指属性私有化和实现细节私有化,它能提高代码的安全性和程序的模块化
继承是指子类可以拥有父类的非私有的成员,继承机制主要用来实现多态和提高代码的重用性
多态是指父类型引用可以指向不同的子类型对象,多态主要同来提高程序的灵活性本回答被提问者采纳
以上是关于Java基础——面向对象三大特征(继承封装多态)的主要内容,如果未能解决你的问题,请参考以下文章