第六章面向对象.ppt
文本预览下载声明
Java语言基础第六章 面向对象;什么是对象
什么是类
类与对象的关系
类的定义与使用
方法的重载
构造方法的使用
this关键字;类成员与实例成员区别
static 关键字的使用
封装
继承
extends关键字
方法的重写
super关键字
;什么是类成员
使用static修饰的成员方法和成员变量称为类成员
使用static修饰的成员变量叫做类变量
使用static修饰的成员方法叫做类方法
什么是实例变量
未使用static修饰的成员方法和成员变量称为实例成员
未使用static修饰的成员变量叫做实例变量
未使用static修饰的成员方法叫做实例方法;实例成员和类成员;实例变量和类变量的区别
所有该类的对象共享同一个类变量,但是每个对象都会有自己独特的实例变量
所有该类的对象都能改变类变量的值,但是每个对象只能改变自己的实例变量值
实例变量在使用前必须创建一个对象,根据对象名.变量名使用,但是类变量不需要创建对象;实例变量和类变量的区别;类方法和实例方法的区别
所有该类对象共享类方法和实例方法
类方法使用类名.方法名([参数])调用
实例方法使用对象名.方法名([参数])调用;实例成员和类成员的相互访问限制
实例方法可以直接访问实例变量和实例方法。
实例方法可以直接访问类变量和类方法。
类方法可以直接访问类变量和类方法。
类方法不能直接访问实例变量或实例方法,要访问它们必须使用对象引用。还有,类方法不能使用this关键字,因为没有this的实例可供使用。
;静态代码块
是一个以static为前导的代码块,一般用于为类的工作做一些初始化工作,如初始化一些静态变量。
一个类中可以有许多静态初始化块,并且它们可以出现在类体的任何地方。运行时系统会保证静态初始化块会按照它们在源代码中出现的顺序被调用;封装的概念
把客观事物封装成抽象的类,并且类可以把自己的属性和方法只让可信的类或者对象进行操作,对不可信的类或者对象隐藏,这样的过程叫做封装。
封装的分类
对属性的封装
将属性设置为private(私有),限制其只能在类的内部使用
对方法的封装
对于方法的封装,将外部可以访问方法设置为public,将外部不能访问的方法设置为private;封装的使用;类中定义的私有成员变量,通常会为其提供getter和setter方法访问私有属性,以保证对私有属性操作的安全性;什么是继承
一个新类可以从现有的类派生,这样的过程叫做继承
那么在继承的过程中,新类被称为子类,现有的类被称为父类,子类将会继承父类的属性和行为。;继承的语法
[修饰符] class 子类类名 extends 父类类名{类体部分}
;子类除了可以拥有父类非私有的属性和方法外,也可以扩展自己的属性和方法;Java中的继承是单继承,也就是一个类只能有一个父类。
如果一个类没有显式的继承某一个类,那么它有一个默认的父类是java.lang.Object类
Java继承了父类非私有的成员变量和成员方法,但是请注意:子类是无法继承父类的构造方法的
;访问修饰符对成员变量和成员方法的访问限定;重写 override
子类从父类继承的某个实例方法无法满足子类的功能需要时,需要在子类中对该实例方法进行重新实现,这样的过程称为重写,也叫做覆写。
方法重写的要求
子类重写方法的访问修饰范围必须大于或者等于父类对应方法的访问修饰符范围
除修饰符外,重写方法的其他部分必须和父类保持一致
; super代表的是父类对象
super的使用方式
super.属性名 用于在子类中调用父类被隐藏的同名实例变量
super([参数列表]) 用于在子类的构造方法中调用父类的构造方法; super.变量名的使用; super([参数列表])的使用;每一个子类的构造方法在没有显示调用super()系统都会提供一个默认的super()
super() 书写在第一行
可以在子类构造方法中显示调用super(),完成对特定父类构造方法的调用
;类成员与实例成员区别
static 关键字的使用
封装
继承
extends关键字
方法的重写
super关键字
;作业一:
设计一个形状类Shape,方法:求周长和求面积
形状类的子类:Rect(矩形),Circle(圆形)
Rect类的子类:Square(正方形)
不同的子类会有不同的计算周长和面积的方法;作业二:
某公司的雇员分为以下若干类:
Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份。方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励100元。
SalariedEmployee:Employee的子类,拿固定工资的员工。属性:月薪
HourlyEmpl
显示全部