Java基础——面向对象三大特征(继承封装多态)

Posted 卡卡西~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础——面向对象三大特征(继承封装多态)相关的知识,希望对你有一定的参考价值。

面向对象三大特征(继承、封装、多态)

1 继承

class Parent
	属性;
	构造方法;
	其它方法;

class Child extends Parent
	全部继承过来;
	可以重写父类的属性与方法;
	可以拥有自己独特的属性和方法;

  • 继承语法——extends
  • 一个子类只能继承一个父类,一个父类可以由多个子类继承:一个儿只能有一个爹,一个爹可以有好几个儿
  • 多个子类继承同一个父类时,每创建一个子类对象的同时,JVM都会默认调用父类的构造方法创建一个父类对象,即在具体对象面前,父类对象与子类对象是一对一实现
  • 父类都默认继承了超类Object中的所有属性与方法,子类继承父类就不会再继承Object类,但也间接继承了Object类
  • 子类会直接获取到父类所有的属性与方法,当子类与父类含有相同的属性时,可以用关键字thissuper进行区分
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基础——面向对象三大特征(继承封装多态)的主要内容,如果未能解决你的问题,请参考以下文章

JS面向对象三大特征:封装、继承、多态

java面向对象的三大特征?

Java中面向对象的三大特征是啥?

java基础面向对象三大特征:封装

java基础面向对象三大特征:封装

Java面向对象三大基本特征