匿名对象其实就是对象,对象具有的功能匿名对象都具有,只不过有名字的对象可以重复使用,匿名对象只能用一次罢了。
匿名对象平时使用场景较少,日常项目开发中很少使用,一般框架层面才会用到
匿名对象特点:
1、由于我们没有记录堆内存对象的地址值,所以只能用一次,再次使用就找不到了
2、匿名对象的好处就是使用完毕就是垃圾,可以在垃圾回收器空闲时回收,节省内存空间
—属于反写----域名.公司名.系统名。com.china.system.
Java中类不能多继承类是为了安全。因为无论是抽象类还是非抽象类都包含非抽象的方法(非抽象类也可能没有),当类可以多继承类时,被继承的不同的父类可能会有同名同参的方法,如果子类也没有重写这个同名同参的方法,则在子类的实例调用这个方法的时候就会出现冲突。
1)提高代码复用性。
2)易于维护,修改父类,子类都会被改变。
并不是把父类编译到子类里面,而是方法区加载子类和父类,在堆里面开辟子类空间,在子类空间中开辟父类空间。
不能super.super
-----子类中,直接写方法名+enter.
父类的私有属性或方法。。。。相当于爸爸的私房钱
必须重写同名方法。
C++的多继承中,同名成员变量和成员函数通过作用域分辨符进行区分
需要用this();—而且必须在首行。
this()和super()必须在构造方法中的第一行有效语句,否则会编译报错,这就是为什么this和super关键字不能同时存在的原因。
不会
子类对象空间内部会有父类对象空间
目的就是为了初始化父类的参数,子类才能使用
子类的构造方法应该多于父类
相当于模板。
—他可以用来初始化抽象类内部声明的通用变量,并被各种实现使用(给子类用来初始化父类成员属性用的)
-----最终类,不可以被其他类继承。比如银行的一些类
-----方法不能被重写
-----基本数据类型:变量不能被再次赋值,只能进行一次初始化 。
------引用类型:不可以再指向别的地址,但里面的内容可以改变。
int[] arr = {1,2};----arr = new int[2];(错误)—arr[0] = 10;(正确)
是的,但是不能有方法体。
可以,表示在方法内,不能更改其值(引用)。尤其对“引用类型”的形参最有意义,可以保证在方法内,不会修改“对象”的地址。
public void set(final String parameter) {
System.out.println(parameter);
//parameter = 10;--错误。
}
public static void main(String[] args) {
new FinalParameter().set("6");
}
运行结果:
是能正常运行的。
但是如果想再修改这个参数的值,编译就会报错:
总结
final修饰的参数只能被赋值一次,就不能再被修改了,否则就会编译报错。
原文链接:https://blog.csdn.net/weixin_38106322/article/details/106095211
理解:再传入引用类型的某一个数据的时候,方法只能使用该数据,不能进行修改。保证对象的安全性