java的封装,继承,多态,super关键字

java的封装,继承,多态

子类继承父类(继承),父类引用子类(多态)

封装

该露的露,该藏的藏

程序设计追求高内聚,低耦合。高内聚就是类的内部数据操作细节自己完成。不允许外部干涉,低耦合:仅暴露少量的方法给外部用。

属性私有:get/set
在两个类中,一个类的属性设置为私有,私有只能本类使用。
封装就是让我们使用get,和set设置封装。即可在外部类使用私有属性。
还外部设置(set),和使用(get)

封装大多给属性用,方法少用;
在这里插入图片描述

1.封装可以是程序更加安全,但输入的程序不合法时,可以设置其变为合法数据。
2.保护用户数据,用户只能使用get和set,内部核心代码看不到。
3.统一解口,get,和set。
4.系统可维护增加,便于修改内部代码。

继承(对类再次抽象)

格式: <修饰符>class<子类名>extends<父类名>{…}
1.什么是继承:继承的本质是对某一批类的抽象,从而实现对现实世界的更好地建模。

2.extands的意思是“扩展”。子类是父类的扩展

3.一个类只能有一个父类,单继承

4.继承关系有里两个类,一个位子类(派生类),一个为父类(基类)。子类继承父类。使用关键字extends

5.子类可以用父类的public属性,protected 属性,私有类(private),无法用。同包private属性可继承不可见。不同包,默认,protected ,private 可继承不可见

6.在new子类的时候,会先创建父类,会默认自动调用父类无参默认方法,如没有,会报错

7.创建默认调用无参构造方法,如果没有无参构造方法,指定一个构造方法。
在这里插入图片描述

多态(子类和父类的关系)(父类引用指向子类的对象就是多态)向上转型

优点:既有父类属性,又有子类属性,使代码更加灵活,可以使用的范围更大,既可以使用父类们也可以使用子类。参数:既可以传父类,也可以传子类。

把类想像成属性可以强制转换类(向下转换(不安全的)和向上转换(安全的,多态))向上转为多态

多态的概念:(同一种方法可以根据发送对象的不同而采用不同的行为方式(子类和父类))
1.多态是方法的多态,属性没没有多态
2.子类和父类,有联系,类型转换异常 classCastException
3.存在条件:继承关系 ,方法需重写,父类引用指向子类对象,

子类继承一个父类

子类重写了一个父类的方法,执行子类的方法。

Student s1 = new Student();
Person s2 = new Student(); //向上转(安全,是多态)
student s5 = (student)s2 ; // 向下转(不安全,不是多态)
Object s3 = new Student();
Student s4 = new Person(); //向下转

((Student)s2.eat)

同级无法转换,人,中国人,美国人
中国人和美国人是同级

在这里插入图片描述

instanceof 的使用 :可以用来比较类与类的关系

super关键字使用

super可以调用父类的方法,写在第一行。
super.方法
super和this调用构造方法时,都必须写在第一行,只能使用一种。this调用自身类的方法。

分清this调用行为和属性

三个重点:object ,super ,方法重写

object 所有类的父类

不能重写的方法:
static属于静态,属于类,不属于实例
final 常量
private 方法,私有不能重写方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值