Java语言面向对象总结(补充)
2014-12-21 15:33
330 查看
<span style="font-size:32px;"> </span>封装,继承、多态
一、封装
是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
好处:
①将变化隔离。
②便于使用。
③提高重用性。
④提高安全性。
封装原则:
①将不需要对外提供的内容都隐藏起来。
②把属性都隐藏,提供公共方法对其访问。
二、继承
通过 extends 关键字让类与类之间产生继承关系。
多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。
多个类可以称为子类,单独这个类称为父类或者超类。
注意:
①子类可以直接访问父类中的非私有的属性和行为。
②子类无法继承父类中私有的内容。
③父类怎么来的?共性不断向上抽取而来的。
三、多态
某一类事物的多种存在形态。
例:动物中猫,狗。
猫这个对象对应的类型是猫类型:猫 x = new 猫();
同时猫也是动物中的一种,也可以把猫称为动物:动物 y = new 猫();
动物是猫和狗具体事物中抽取出来的父类型。
父类型引用指向了子类对象。
多态性简单说就是一个对象对应着不同类型。
体现:
父类或者接口的引用指向或者接收自己的子类对象。
作用:
多态的存在提高了程序的扩展性和后期可维护性。
前提:
①需要存在继承或者实现关系。
②需要有覆盖操作。
好处:
提高了代码的扩展性,前期定义的代码可以使用后期的内容。
弊端:
前期定义的内容不能使用(调用)后期子类的特有内容。
java代码示例:
//定义一个人父类 class Person { //名字和年龄是人的共有属性 String name; int age; //在构造函数中对名字和年龄进行初始化 Person(String name,int age) { this.name=name; this.age=age; System.out.println(name+" "+age); } //人都具有睡觉的功能 void sleep() { System.out.println("sleep"); } } //定义一个学生,继承人,作为子类 class Student extends Person { Student(String name,int age) { super(name,age); //super关键字表示父类,因为姓名和年龄在父类中进行了初始化动作,在这里可以直接调用 } //学生具有特有的功能,学习 void study() { System.out.println("study"); } } class Demo { public static void main(String[] args) { Student s=new Student("zhangsan",20); System.out.println(s.name="wangwu"); s.sleep(); s.study(); } }
相关文章推荐
- Java语言中的面向对象特性(总结得不错)
- Java语言中的面向对象特性(总结得不错)
- Java语言中的面向对象特性(总结得不错)
- Java语言中的面向对象特性总结
- Java语言中的面向对象特性(总结得不错)
- Java语言面向对象特性详解
- JAVA面向对象总结(一)
- 黑马程序员--03.Java面向对象--05.子类对象初始化的过程【个人总结】
- 黑马程序员_Java学习日记4_面向对象总结3
- 黑马程序员_java面向对象总结
- JAVA面向对象总结
- Java面向对象总结(一)
- Logic Java阶段学习总结--猜拳游戏(面向对象实例)
- 黑马程序员—java面向对象总结(2)—面向对象封装特性
- JAVA面向对象笔记总结(下)
- 黑马程序员_Java学习日记2_面向对象总结1
- java面向对象总结1-4-7
- 黑马程序员_Java学习日记5_面向对象总结4
- Java面向对象总结(基础篇)(草稿)