匿名,继承,抽象类总结

                       #**匿名对象的介绍以及使用**

匿名对象
1,概述:没有名字的对象
2,使用:new 类名().成员
3,注意
——如果使用匿名对象的话,需要在方法只调用一次的时候
——如果使用匿名对象为对象赋值,再用匿名对象为对象取值,是不可以的(因为你会new很多次,会产生多个对象)
4,使用场景:一般用于单纯的调方法
注意
——匿名对象可以作为方法的参数
——匿名对象作为方法的返回值,传递和返回的是地址值

                       #**继承的介绍以及注意事项**

父类(超类 基类)
子类(派生类)
继承的格式
——定义一个父类
——定义一个子类继承父类(子类 extends 父类)
——子类就拥有父类中的非私有成员
——创建子类对象,调用继承过来的成员
注意
<1>子类继承父类之后,可以拥有父类中(非私有的内容)
<2>构造方法不能被继承(因为构造方法的方法名是根据本来来的)
使用场景:如果我们定义了好几个类,类中都有共性的内容,我们就可以定义一个父类出来,把这些类的共性内容抽取出来,减少代码量
继承的特点
1>继承不支持多继承(一个儿子只能有一个亲爹)
2>继承支持单层继承
3>一个父类可以拥有多个子类
继承中成员变量的访问特点
1,子类和父类中定义出来的变量不重名
——当我们new父类对象时,只能调用自己的成员,不能调用子类的成员
——当我们new子类对象时,既能调用继承的父类,也能调用自己特有的
2,子类和父类中定义出来的变量重名
——看等号左边是谁,优先调用谁的成员变量,如果子类没有,找父类
继承中方法的访问特点
1,子类和父类中定义出来的方法不重名
——如果new的父类对象,只能调用父类自己的
——如果new的子类对象,那么既能调用从父类继承过来的,还能调用自己特有的
2,子类和父类中定义出来的方法重名
——看new的是谁,先走谁的方法,子类没有,找父类
父类的成员变量 子类的成员变量 子类的局部变量 都重名的访问特点
<1>优先访问子类的局部变量
<2>super–>代表的是父类成员,可以区分子类和父类重名的成员(直系父类)
扩展:如果一个没有明确继承某一个父类的话,这个类也是有父类的,这个父类就是object类(所有类的父类)
方法的重写(覆盖,覆写)
1,概述:子类有一个和父类一毛一样的方法
2,访问特点:看new的是谁,先调用谁,子类没有找父类
3,注解:@Override–>可以检测此方法是不是重写方法
@Overnode–>可以检测此方法是不是重载方法
4,前提:子父类继承关系
5,注意事项
——子类方法覆盖父类方法,必须要保证权限大于等于父类权限
权限从大到小排列为:public protected 默认(default) private
——子类方法覆盖父类方法,返回值类型,函数名和参数列表都要一模一样
——私有方法不能被重写(父类私有成员子类是不能继承的)
——子类方法重写父类方法时,子类的方法返回值要是父类方法返回值的子类或者一样
构造方法方面
在子类的无参构造方法中,第一行默认会有一个super()
super():代表的是父类的空参构造,即使没有手写上,默认也有
注意:子类中如果写了有参构造,默认第一行会调用父类的有参构造,如果子类的有参构造中将super(参数),去掉,就会去找父类的无参构造
关于使用super方面的注意事项
super–>代表的父类对象
特点:可以调用父类的构造,普通方法,成员变量
访问父类的空参构造函数–>在子类的构造方法中第一行:super(参数)
访问父类的成员变量–>在子类的方法中:super.成员变量名
访问父类的方法–>在子类的方法中:super.方法名(参数)
关于使用this方面的注意事项
this->代表当前对象
作用:区分成员变量和局部变量的问题
使用本类的成员变量–>在本类中:this.成员变量名
调用本类的方法–>在本类中:this.方法名(参数)
调用本类的构造方法–>在本类的构造方法中:this(参数)
注意
1,使用this调用本类的其他构造方法时,也要写在构造方法的第一行,但是this(参数),不会自动提供的,想使用,自己手写
2,this和supre在构造方法中不能同时出现–>因为都要求出现在第一行
3,在本类中有参和空参不能相互调用
总结:super多用在子类中,调用父类的成员 // this多用在本类中,调用自己的成员

                       #**抽象类的介绍**

抽取共性方法的时候,如果这个方法说不清,道不明,不能确定具体实现,那么这个方法一般定义为抽象方法
1,抽象方法所在的类一定是抽象类
2,抽象类中不一定非得有抽象方法
3,抽象类中除了可以有抽象方法,还可以有构造,get,set,成员变量,普通方法
抽象类的定义:abstract class 类名
抽象方法的定义:修饰符 abstract 返回值类型 方法名(参数)
使用
1>定义子类继承抽象类
2>重写父类中的抽象方法(要重写掉父类中所有的抽象方法)
3>创建子类对象,调用重写的方法(抽象类不能new对象)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值