封装、构造、继承、多态知识梳理

一、封装、构造、继承、多态
1、封装

定义:属性私有化,并对外提供公开访问或设置属性的方法。
格式:
private 属性
public void setName(参数类型 形参){
this.形参=形参}
public 返回值类型 getName(参数类型 形参){
Return 形参}
快捷键:Alt+shift+S
意义:复用性、安全性、易用性。
如何封装?
1.private私有属性;
2.设置setter和getter;
3.设置对象后,通过对象.setName赋值,通过对象.getName取值。

2、构造
定义:在创建对象的时候,JVM自动调用的函数。
意义:在创建对象的时候,给初始变量赋值。
分类:无参构造器(默认构造器)、有参构造器。
如何通过构造器赋值?
1.首先创造一个构造器;
2.创建对象后在()内传值。
构造器知识点集锦:
1.每个类至少有一个构造器,即默认构造器,没有默认器,系统会自动为我们添加。我们自动添加默认构造器之后,可以加快编译器的运行速度;
2.默认构造器的格式:public 类名{};
3.有参构造器的格式:public 类名{参数类型 形参};
4.构造器是特殊的方法,可以有构造器重载,即构造器方法名相同,参数列表不同,根据参数列表决定执行哪个构造器;
5.构造器执行时间比普通方法早,所以构造器可以调用普通方法,但是普通方法不可以调用构造器,构造器之间也可以通过this互相调用。
6.构造器没有void,return一般隐藏,不能被static修饰。

3、继承
定义:子承父类,子类可以使用父类非私有的属性和方法。
格式:class A extends class B
重写:在继承体系中,子类定义了和父类相同的方法名(修饰符、返回值类型、方法名),内容不同。
抽象类:在开发过程中,如果发现多个类中有共同的方法信息,但是可能具体实现不同,那么我们可以抽离公共信息,将其定义成一个抽象类,这些类一起继承这个抽象类。
抽象类写法:public abstract class 方法名{抽象函数;}
抽象函数写法:public abstract void 方法名(); 抽象函数必须加上abstract。
抽象类的特点:不能实例化;子类继承抽象类,必须继承抽象类所有的函数,否则,类也是抽象的;抽象函数必须存在于抽象类中。
抽象类应用场景?
很多类冲有共同的方法。
使用抽象类的一般步骤?
1、做一个抽象类;
2、子类完善功能;
3、测试类实现具体工程。

4、多态
定义:不同类对于同一个行为或方法有不同的描述或反映。
自动向上转换:将子类型对象转换为父类型引用,提升了子类型的引用范围。
强制向下转换:将父类型引用转换为子类型引用,降低了子类型引用范围,但是增加描述的精度。
强制转换实现方式:子类型类型 对象名=(子类型类名)父类型引用;

Instanceof 用法:父类型引用 instanceof 子类型类名 判断父类型引用中是否有子类型,可以单独实现个性化信息。

多态的意义:提高代码的复用性和扩展性。
如何实现多态?
1、抽象类;类名和抽象函数。
2、子类;完善具体的功能。
3、测试类。
a.可以先完善公共的方法;
Public static void 方法名(抽象类名 形参){
形参.抽象函数}
b.然后利用instanceof和强制向下转换实现个性化信息;
If(父类型引用 instanceof 子类型类名){
子类型类型 对象名=(子类型类名)父类型引用;
对象名.个性行为;}
Ps.判断语句一般在公共方法大括号的作用域。
c.main方法调取所有的功能信息。
创建每个类的对象,调取抽象类的公共方法,如何调取呢?抽象类公共方法(新建对象名);

大大的PS:不同方法调取的比较:
A.同类不同的方法调取:
a.用static修饰;
b.在类中创建对象。
B.不同类的方法调取:
c.用static修饰;
d.在类中创建对象。
C.多态的方法调取:
a.抽象类;类名和抽象函数。
b.子类;完善具体的功能。
C.测试类。
① 可以先完善公共的方法;
Public static void 方法名(抽象类名 形参){
形参.抽象函数;
然后利用instanceof和强制向下转换实现个性化信息;
If(父类型引用 instanceof 子类型类名){
子类型类型 对象名=(子类型类名)父类型引用;
对象名.个性行为;}
}
Ps.判断语句一般在公共方法大括号的作用域。
② main方法调取所有的功能信息。
创建每个类的对象,调取抽象类的公共方法,如何调取呢?抽象类公共方法(新建对象名);

二、关键词:static final this super
Static 可以修饰变量和函数
静态函数:
1、调取静态函数可以直接通过类名.方法名调用;
2、静态函数可以调用静态函数和非静态函数,非静态函数也可以调用静态函数;
3、静态函数不能使用非静态成员变量。
静态变量:
1、静态成员变量放在静态方法区,被全局共享,生命周期和类保持一致。

Final 可以修饰类 ,函数,和变量。修饰类代表不可继承,修饰函数代表不可重载,修饰函数代表常量,常量类名一般大写。

This,区别全局变量和局部变量;构造函数调用。
Super,继承专用,子类的父类。
三、代码块
定义:{}限定的区域;
特点:比构造器的执行时间还早;
作用:赋初始值。
意义:可以一次申请,执行多次。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值