java学习笔记:知识回顾及【匿名对象】

     今天的内容主要是对前面知识的简单回顾,以及介绍一个新的概念,匿名对象。

回顾
一、类与对象
定义类:
在这里插入图片描述
创建对象:
类名 对象名 = new 类名(实参);
二、封装
1.使用private关键字修饰
2.可以修饰成员变量、成员方法、构造方法,只能在本类使用,其他类如果想访问,需要调用getXxx() setXxxx()。
三、构造方法
格式;
public 类名(参数列表){}
2.注意:1.必须和类名一致;2.没有返回值
3.作用:1.new创建对象时调用;2.给类中成员变量初始化
四、this关键字
作用:
1.区分成员变量和局部变量(必须掌握) this.成员变量名
2.调用本类的构造方法:this(实参);
1)必须在第一行
2)不能递归调用
3)和super不能共存
3.this记录着当前对象的地址值
五、继承
1.作用:解决代码复用性差的问题。父类定义子类直接使用 .通过继承我们可以达到在子类中直接使用父类中的非私有 成员
2.继承格式:
public class 子类 extends 父类{

   }

3.不能被继承的内容:构造方法,子类可以调用:super(实参);
4.类的继承特点:
1)支持单继承和多重继承
2)不支持多继承
5.继承中的成员特点:
1)成员方法:方法重写(覆盖)
a:子父类方法返回值类型 方法名 参数列表(参数类型)一致
b:子类权限大于等于父类 重写抽象方法快捷键:ctrl+i
2)构造方法:
子类调用父类构造方法:super(实参);
隐式三步:
1)super()调用父类无参构造方法
2)显示给非静态成员变量赋值
3)执行本类构造代码块
第二步和第三步看书写顺序
3)成员变量:在父类定义,子类直接使用。
子父类成员变量同名了,需要使用super.父类成员变量。
六、抽象类
1.定义格式:
public abstract class 类名{
//抽象方法
public abstract void show();
}
2.注意事项:
1)作用:模板设计模式。共性内容定义在父类中实现,如果非共性内容,定义为抽象的,由子类实现
2)抽象类一定有子类子类需要重写所有抽象方法
3)抽象类不能被创建对象
七、final关键字
是一个修饰符,只能修饰类 变量(成员变量 局部变量,变为常量,变量名大写) 成员方法 :都不能被改变。
八、static关键字
1.属于一个静态修饰符 只能修饰成员变量 成员方法,修饰的内容使用类名调用,只和类有关没和对象无关
2.调用格式:
类名.静态成员变量名
类名.静态方法名(实参);
3.注意事项:
1)静态成员变量在类加载的时候存在方法区的静态区开辟空间并赋值
2)静态方法类加载之后直接使用类名调用,静态方法中只能使用静态的,不能使用和对象有关的一切内容
九、接口
1.定义格式
public interface 接口名{}
2.成员内容:
public interface 接口名{
//抽象方法:默认修饰符public abstract 子类必须全部实现
//默认方法:必须书写default 子类可以实现可以不实现
//静态方法:使用static修饰 使用接口名调用
//常量:默认修饰符 public static final
}
3.类和接口关系:支持多实现
public class 子类 extends 父类 implements 接口,接口,…{
//优先级:就是父类的方法和接口中的默认方法相同,优先使用父类的,父类没有使用接口
}
4.注意事项:
1)如果子类实现多个父接口,父接口中存在一样的默认方法,要求子类必须实现默认方法,创建子类对象调用的就是子类实现之后的方法了
2)接口和接口之间称为继承,使用extends,支持多继承
十、匿名对象介绍
匿名对象简单的说就是没有名子的对象。创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。虽然是创建对象的简化写法,但是应用场景非常有限。例如创建对象:Student s = new Student(); s称为对象名new Student() 匿名对象。
1.格式:new 类名(参数列表);
2.匿名对象的使用场景
1.只操作类的成员一次
2.匿名对象作为方法参数传递
在这里插入图片描述
就这样用。
3.局限性
代码
在这里插入图片描述
咱们明明给name变量复制了,但是在控制台却打印不出结果,这就是匿名内部类局限性的体现。
在这里插入图片描述
注意:只要程序中使用new关键字创建对象,那么在推中都会有一个新的对象产生。并且匿名对象通常是在只需要访问成员一次的情况下使用,如果对象需要多次操作的成员,就不能使用匿名对象来访问。
还有匿名对象可以简化代码的书写,但是匿名对象一旦使用结束,这时这个对象就立刻变成垃圾。如果对象只使用一次,这时可以采用匿名对象,如果这个对象要使用多次,必须给对象起名
JAVA进阶的一个公开课程https://ke.qq.com/course/3132154
想看小伙伴 可以点击链接进入,加我QQ:851617493 QQ裙751991074 免费开通权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值