Java 封装 继承 多态

一、 封装

a) 概念:装进去,封起来

b) 作用:方便、安全

  1. 方便:调用(一处编写,N处调用),修改(一处修改,处处响应)。
  2. 安全:数据安全(将属性私有化,提供共有方法,可以在方法中验证传参的有效性,合法性),访问安全(通过包或访问修饰符,限制类或属性或方法的访问级别,只让需要知道的地方知道)

1.1、 构造方法

a) 定义:负责对象初始化任务,通常用来给属性赋值的。

b) 特点:与类同名,没有返回类型,系统默认会提供无参构造方法。

Dog dog = new Dog();

c) 变量的作用域(成员变量和局部变量同名):就近原则。所以为了区分同名成员变量和局部变量,引入了关键字this,this是指当前对象。

this(参数列表) 类内访问构造方法

必须位于其他构造方法的第一句话。

d) 如果我们为类写了有参构造,那么系统将不再提供无参构造。

e) 构造方法重载:

构造方法的参数列表不同:(参数列表的类型,数量,顺序不同)

和访问修饰符与返回类型无关

二、 继承

a) 概念:一种在不需要编写任何当前类代码的情况下,完成当前类功能扩展的能力。

b) 分类:实现继承(如概念),抽象继承,可视继承

  1. 抽象类,接口
  2. Form / JFrame (继承窗体的外观和编码能力)

c) 关系:

  1. Is a 继承
  2. Has a
  3. Like a( more than a)

d) 关键字:extends / implements

e) 访问修饰符(修饰属性或方法)


访问修饰符


类内


同包


子类(不同包)


其他


修饰类


Private



默认





Protected





public






2.1、 关键词this和super (访问构造方法,必须位于第一句。)

This:类内访问

Super:子类访问父类

2.2、 不能被继承的父类成员

a) 私有属性

b) 不在同包内的默认访问修饰符修饰的内容

c) 构造方法

2.3、 继承关系的不同类型代码的执行顺序

a) 父类静态代码块

b) 子类静态代码块

c) 父类普通代码块

d) 父类构造方法

e) 子类普通代码块

f) 子类构造方法

2.4、 子类重写父类方法,重写和重载的区别

a) 重写:子类重写父类同名,同参方法。访问修饰付子类>=父类与返回类型子类<=父类。

b) 重载:同一个类内同名,不同参方法。与访问修饰符和返回类型无关。

三、多态

a) 概念:一种类型(父类),多种表现(子类)

b) 类型:父类类型作为方法参数,父类类型作为方法返回值

c) 类型转换: 子类对象向父类类型转换:自动类型转换 :向上转型

父类对象向子类类型转换:强制类型转换 :向下转型

对象类型运算符:boolean flag = 对象 instanceof 类型;

四、 静态关键字static

a) 可以修饰:属性、方法和类

b) 被修饰的属性和方法称之为类属性和类方法,在该类的所有对象中共享。

c) 静态方法和静态代码块只能访问静态成员。非静态方法可以访问静态或非静态成员。

d) 1、静态代码块,2、普通代码块,3、构造方法,4、自定义方法

五、 final 和 abstract

a) 两者是矛盾的,对立的,不可以同时存在。

b) Final修饰的类不可以被继承,修饰的变量不可以修改值,修饰的方法不能被重写。

c) Abstract可以修饰类和方法,抽象方法只能存在于抽象类中,抽象类是可以被继承的,抽象方法必须被继承类实现。

d) String,Math类为final类

e) Object中的getClass(),wiat(),notify()等final方法

f) Object中的toString(),hashCode(),equals()等非final方法

g) 重写Object的toString()方法,在输出对象时,直接输入对象的toString()方法返回值。否则输出对象的内存地址。

h) 重写equals方法,只要所有的属性值都相等,则是同一个对象。

时间: 2024-08-11 07:31:45

Java 封装 继承 多态的相关文章

Java封装继承多态

Java中的类可以分为三种: 类:使用class定义且不含有抽象方法的类. 抽象类:使用abstract class定义的类,它可以含有,也可以不含有抽象方法. 接口:使用interface定义的类. 类可以继承(extends)类,可以继承(extends)抽象类,可以继承(implements)接口. 抽象类可以继承(extends)类,可以继承(extends)抽象类,可以继承(implements)接口. 接口只能继承(extends)接口. 1.封装 类使得数据和对数据的操作集成在一起

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

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

初识JAVA(【面向对象】:pub/fri/pro/pri、封装/继承/多态、接口/抽象类、静态方法和抽象方法;泛型、垃圾回收机制、反射和RTTI)

JAVA特点: 语法简单,学习容易 功能强大,适合各种应用开发:J2SE/J2ME/J2EE 面向对象,易扩展,易维护 容错机制好,在内存不够时仍能不崩溃.不死机 强大的网络应用功能 跨平台:JVM,字节码 两个命令: javac helloworld.java:将Java文件编译为字节码的.class文件 java helloworld:运行Java程序...??暂时这么认为 数据类型: 普通数据类型:int a=3; 对象数据类型:使用关键字new,String s=new String("

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

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

php面向对象 封装继承多态 接口、重载、抽象类、最终类总结

1.面向对象 封装继承多态  接口.重载.抽象类.最终类 面向对象 封装继承多态  首先,在解释面向对象之前先解释下什么是面向对象? [面向对象]1.什么是类? 具有相同属性(特征)和方法(行为)的一系列个体的集合,类是一个抽象的概念2.什么是对象?从类中拿到的具有具体属性值得个体,称为对象,对象是一个具体的个体 所以,面向对象即我们专注对象来处理问题,通过从一个个具有属性和功能的类中拿到对象来处理问题. 下面我们再来细说下面向对象的三大特征:继承/封装/多态 一.继承 在PHP中我们主要通关E

封装继承多态到底讲的是什么

封装继承多态到底讲的是什么 封装.继承.多态并不是针对C#语言提出来的,他是一个在面向对象思想下产生的一个概念.所以想要弄明白封装.继承.多态,首先就要先了解面向对象概念. 封装:当我们提及面向对象的时候,这个对象怎么来?就是通过我们人为的封装得来.封装就是把一些特征或功能组合到一个抽象的对象上.就比如说电脑:它的特征是有一个显示屏,有一个主机,有鼠标和键盘等等.功能有计算等.那我们把这些特征和功能组合到“电脑”这个抽象的名词上时,“电脑”于是就有了这些特征和功能.但这个“电脑”不是实物,它代表

三大特性:封装,继承,多态

透切理解面向对象三大基本特性是理解面向对象五大基本原则的基础. 三大特性是:封装,继承,多态 所谓封装: 也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏.封装是面向对象的特征之一,是对象和类概念的主要特性. 简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体.在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问.通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对

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

面向对象的三大特性---封装继承多态 首先我们来创建一个控制台程序 新建一个父类Person 创建一个子类继承父类Person 子类: main函数: 输出结果: 根据结果显示创建子对象,首先调用父类的构造函数在调用子类的构造函数. 继承的传递性 例如: A:B,B:C,则A:C ⅰ.继承过来之后被隐藏,有意隐藏加一个关键字"new",如果加了关键字"new",就告诉子类,父类里面的sayHi只能被隐藏,不能被覆写  ⅱ.继承过来之后被覆写/重写,覆写需要在父类里面

Python 入门 之 面向对象的三大特性(封装 / 继承 / 多态)

Python 入门 之 面向对象的三大特性(封装 / 继承 / 多态) 1.面向对象的三大特性: (1)继承 ? 继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,父类又可以称为基类或超类,新建的类称为派生类或子类. ? 在Python中实现继承非常简单,在声明类的时候,在类名后面添加一个小括号,就可以完成继承关系.单纯的从代码的层面上来看当两个类具有相同的功能或者特征的时候就可以使用继承.提取一个父类,这个父类中编写者两个类相同的部分,然后两个类分别去继承这个类就可以