java面向对象的基本形式,封装、继承、多态

总结:1.面向对象三个特征:封装;继承;多态; 方法也是一个最基本的封装体,类也是封装体
2.封装:隐藏了实现的细节,还要对外提供可以访问的方式,便于调用者使用; 优点:1、提高代码的复用性;2、提高了安全;3、隐藏了实现的细节,还要对外提供可以访问的方式,便于调 用者使用
3.可以在成员变量名前面加上this.来区别成员变量和局部变量
4.继承:在一个现有的类的基础上去构建一个新的类,构建出的新的类被称作子类,现有的类被称为父类,子类会自动拥有父类的属性和方法;
5.private修饰的方法和属性不能被继承;
6.class 子类 extends 父类(){}
7.继承的好处:1、继承的出现提高了代码的复用性,提高了软件的使用效率;2、继承的出现让类与类直接产生了关系,提高了多态的前提;
8.java中只支持单继承;也就是一个子类只能继承一个父类的方法和属性;单一个父类可以拥有多个子类;
9.多层继承:一个子类同时也可以是别人的父类;
10.方法的重写(方法的覆盖):前提是子父类关系;子类和父类拥有同样的名字但是方法和内容不一样;调用时子类的方法覆盖父类的方法;
11.方法的重载:前提是在同一个类中,方法名一样但是参数列表中参数的类型,个数,顺序不一样;
12.子类方法覆盖父类方法,必须要保证权限大于等于父类权限。
13.继承是多态的前提,一个子类可以继承父类和父父类(爷爷类)的属性和方法;
14.Object 是所有类的祖类;如Demo01的祖类是Object;单Object没有父类,它最大
15.即使子类什么都没有也至少有父类的属性和方法;
16. int i =2 ;public void show(){ int i=3;System.ou.println(i)答案是3;System.ou.println(this.i)答案是2;System.ou.println(super.i)答案是1}
super是父类的意思;super.调的属性和方法是父类的属性和方法;super.i调的是父类的i;
17.public void eat(){super.ear();System.ou.println("儿子吃肉")结果是;爸爸吃饭,儿子吃肉}打印结果:爸爸吃饭(super.eat();); 儿子吃肉(System.out.println("儿子吃 肉"););用super.eat()调用父类方法后子类的方法既有自己的内容也有父类的内容;这样子类的方法就更强大了;
18.子类和父类出现同名成员变量时,如果子类有,调子类;如果子类没有,调父类的;
19.main方法如果用super.调的是Object的属性和方法;因为demo01的父类是Object
20.子类方法要覆盖父类的方法,必须保证权限大于父类的权限;如父类是public;子类就不能说private;
21.设计关系图:由下往上写;抽取共性;写代码:由上往下写,先写父类
22.抽象类要用abstract修饰;拥有了抽象方法的类就是抽象类除非将继承的抽象方法重写;写成普通方法就能实例化(new)就能在main方法里面调取属性和方法了
23.抽象方法只有方法名没有方法体要被abstract休息
23.抽象类:public abstract class 类名{};抽象方法:public abstract 返回值类型 方法名();
24.抽象的方法要被abstract修饰,抽象的方法一定要定义在抽象类中;抽象的类不可以直接创建对象,因为被抽象后;方法只能是抽象方法,抽象的方法没有方法体只有方法名,
调用方法没有实际意义,所以抽象的类只有被继承后并并被实例化(将继承的父类方法都要重写,写成普通方法才行),才能进行赋值和调用方法
只有覆盖了继承来的父类的所有的抽象方法后才能被实例化,因为只要有抽象的方法存在哪它就是个抽象类
抽象类是一个父类,抽象类 可以不定义抽象方法;
25、abstract不能和那些关键字共存:1.private 因为被private修饰的方法和类是不能被继承的,不能被继承那么抽象方法和抽象类就没有意义了,也不能被实例化不能被调用
final和static也不行
26、抽象类包含:普通方法和抽象方法;
27、抽象类的基础是继承,没有继承那么抽象类和抽象方法就没有意义了,所以abstract和private不能共存
28、只要在子类里面都可以super.;抽象方法除了不能被实例化也就是new和普通类没什么区别
29、抽象方法:public abstract void work()变成 普通方法:public void work();JavaEE就能变成普通类了;
30.接口:接口是功能的集合,接口只描述所应具备的方法不具备实现的功能
31.接口要被interface修饰,其编译后的文件仍然是.class;所以我们把接口看做是一个只具备功能的特殊类是一个特殊的抽象类
32.接口类的定义:public interface 接口名;用interface代替了原来的class;
33.实现接口的子类要用imperments修饰:public class 类名 imperments 接口名{};
34.接口可以定义变量,单变量要用public static final修饰;定义方法 要用public abstract 返回值(void) 方法名(){}修饰
接口不能创建对象,子类必须覆盖了父类里的抽象方法后才能建立对new对象;不然只能
35.public class Student extends Person implements Smoking,Drink{}实现类可以连接多个接口后面用,隔开直接写就行;可以继承一个父类(extends Person)然后再实现接口的功 能(implements Smoking,Drink),先继承再实现
接口支持多继承;interface Zi extends Fu1,Fu2,Fu3;一个接口的定义可以继承多个接口
类和类之间只能单继承;类和接口之间是实现关系,类实现接口的功能
实现类实现接口用implements语句;定义接口类用interface;因为接口类是抽象类;所以实现类得重写接口中的抽象方法才行;接口和实现类实际上就是抽象类和继承的子类一样

原文地址:https://www.cnblogs.com/hankai2735/p/11288247.html

时间: 2024-10-28 20:32:05

java面向对象的基本形式,封装、继承、多态的相关文章

(1) 深入理解Java面向对象三大特性 封装 继承 多态

转眼已经工作快6年了,最开始做了2年J2EE:然后整了2年的数据仓库,主要是Cognos的报表开发:现在从事4G LTE核心网的开发,用的语言任然是Java,但写代码的机会不多,基本都是看代码找BUG,偶尔做点new feature也是在比较成熟的框架上复制.粘贴.修改,大部分时间还是在理解业务,钱多.事少.离家近,当时来这家公司图的是后面2点,2年过去了,英文水平有所提升,对敏捷开放也有一定的了解,但技术方面明显退步了或者说没有进步吧,本来以前也不怎么好,因为工作上用不到,自己也没怎么学习,所

Java面向对象三大特性 封装 继承 多态

1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类把自己该做的事情封装起来,而不是暴露给其他类去处理,当内部的逻辑发生变化时,外部调用不用因此而修改,他们只调用开放的接口,而不用去关心内部的实现 举例: public class Human { private int age; private String name; public int get

Java面向对象一(封装 继承 多态 类 对象 方法)

1.封装:主要实现了隐藏细节,对用户提供访问接口,无需关心方法的具体实现. 如下,人这个类封装了很多人的属性和行为: 2.继承:很好的实现了代码的复用,提高了编程效率. 人{ 年龄(属性一) 身高(属性二) 性别(属性三) 做事(行为之一) 走路(行为之二) 说话(行为之三)} 教师{ 年龄(属性一) 身高(属性二) 性别(属性三) 做事(行为之一) 走路(行为之二) 说话(行为之三) 教书(行为之四)} 教师继承了人的属性和行为,额外多出的是教书的行为.所以可以写成 教师 继承了 人这个类 的

类与对象 面向对象和面向过程对比 面向对象三大特征:封装 继承 多态

 初识面向对象 面向过程: 一切以事务的发展流程为中心. 面向对象: 一切以对象为中心. 一切皆为对象. 具体的某一个事务就是对象 打比方: 大象进冰箱 步骤: 第一步, 开门, 第二步, 装大象, 第三步, 关门 面向对象:大象, 你进冰箱. 此时主语是大象. 我操纵的是大象. 此时的大象就是对象 1. 面向过程: 一切以事物的流程为核心. 核心是"过程"二字, 过程是指解决问题的步骤, 即, 先?干什么, 后干什么. 基于该思想编写程序就好比在编写一套流水线. 是一种机械 式的编程

面向对象三大特性(封装/继承/多态)

引入:在面向对象思想中,有三大特性,封装  继承  多态. 思考:我们在使用类和对象实现编程的时候,到底是遵循这什么样的逻辑呢?为什么要这样规范类呢? 引入:面向对象很重要的思想就是隐藏,即外部不知道类内部是如何实现业务逻辑的,只管调用和使用结果,这个就是面向对象三大特性之一:  封装 1.封装[掌握] 定义:封装,字面意思就是将内容装到某个容器中,并进行密封保存,在面向对象思想中,封装指数据和对数据的操作捆绑到一起,形成 对外界的隐藏,同时对外提供可以操作的接口. 1.数据:即要操作的数据,在

JAVA的三大特征 封装继承多态- 简单总结

简单总结一下 封装-即从很多类的抽取相同的代码 写在一个类里. 好处是 代码的重用,安全. 继承-减少代码的书写. 其好处也是 代码的重用. 多态- 把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化. 总的来说还是接口的重用. 那么总结一下,JAVA的三大特征 其好处 就是代码与接口的重用. 封装可以隐藏实现细节,使得代码模块化: 继承可以扩展已存在的代码模块(类): 它们的目的都是为了——代码重用. 而多态则是为了实现另一个目

面向对象三大特性:封装,继承,多态(二、多态)

多态 一,多态的概念 多态(polymorphism), 是指一个名字可以有多种语义.在面向对象语言中,多态是指在一棵继承树中的类中可以有多个同名但不同方法体及不同形参的方法.通常有两种途径实现多态:方法的重载和覆盖. 多态性允许以统一的风格处理已存在的变量及相关的类.多态性使得向系统里增加新功能变得容易.继承性和多态性是降低软件复杂性有有效技术. 二,多态的实现 1.方法的重载 方法重载时: 参数必须不同.参数个数不同或类型不同. 返回值可以相同,也可以不同. 重载的价值在于它允许通过使用一个

面向对象三大特性:封装,继承,多态(一,封装和继承)

封装.继承和多态是面向对象程序设计的三个核心特性. 封装是面向对象技术中的一个重要概念,是一种信息隐藏技术,它体现了面向对象程序设计的思想. 继承是面向对象程序设计方法的一个重要手段,通过继承可以更有效地组织程序结构,明确类间的关系,育雏利用已有的类来完成更复杂.更深入的程序开发. 多态允许以一种统一的风格处理已存在的变量和相关的类,多态性使得向系统增加功能变的容易. 一.封装 封装的含义是:类的设计者把类设计成一个黑匣子,使用者只能看见类中定义的公共变量和公共方法,而看不见方法的具体实现细节,

Java三大特征:封装 继承 多态

内部类:成员内部类.静态内部类.方法内部类.匿名内部类. 内部类:定义在另外一个类里面的类,与之对应,包含内部类的外部类被称为外部类. 内部类的作用:(1)内部类提供了更好的封装,可以把内部类隐藏在外部类之内,部允许同一个包中其他类昂问该类.(2)内部类的方法可以直接访问外部类的所有数据,包括私有数据.(3)内部类所实现的功能使用外部类照样可以实现,只是有时使用内部类更方便. 成员内部类(普通内部类):内部类创建对象时,必须使用外部类对象来创建,而不能直接用new创建一个内部对象,即内部类 对象