Java语言面向对象总结(补充)
来源:互联网 发布:实体店照片ps源码 编辑:程序博客网 时间:2024/04/28 10:36
<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(); } }
0 0
- Java语言面向对象总结(补充)
- Java语言面向对象总结
- 面向对象(补充)
- Java面向对象概念补充
- Java语言中的面向对象特性(总结得不错)
- Java语言中的面向对象特性(总结得不错)
- java语言中面向对象的总结
- Java语言中的面向对象总结
- java总结(面向对象)
- java总结(面向对象)
- java总结(面向对象)
- 黑马程序员-Java中的面向对象(补充)
- 2.java语言(面向对象语言)
- java面向对象总结
- java面向对象总结
- java面向对象总结
- java面向对象总结
- Java面向对象总结
- cell线到头
- cell的定制界面
- cell数据的模型类调用
- iOS PDF文件的读取(UIView 篇)
- 史上最强Android 开启照相或者是从本地相册选中一张图片以后先裁剪在保存并显示的讲解附源码i
- Java语言面向对象总结(补充)
- 文件I/O函数的封装 read write等
- Java 编程下 IO 中的输入流的 read() 方法返回值为什么是 int 值
- mac安装mysql后,启动mysql ERROR 2002 (HY000)错误解决办法
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之01 引言——黑马 IOS 技术博客
- KVC相关简介
- OC中的分类和协议
- andriod之BroadcastReciever--广播接受者,启动acitivity,和service,以及停止service
- pyquery: 基于python和jquery语法操作XML