-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Java的一些基础知识点复习 #83
Comments
垃圾回收: 将b设置为null,断开了b与Person对象的连接。在Java中,设置为null意味着引用不再指向任何对象,但由于a仍然指向那个对象,所以那个对象不会被垃圾回收器回收。 尝试打印b.age,但是会抛出NullPointerException,因为b已经被设置为null,不再指向任何对象。
区分: 这里p=null指向空,栈中test200中的p空了,但是main中的p.age依然指向原来的地址(堆中的地址p) |
继承 好处:
继承细节点:
*当创建子类时,无论调用子类的哪一个构造器,默认情况下总会调用父类的无参构造器;
java中所有类都是Objece类的子类,Object类是所有类的基类(父类) |
supper关键字
调用父类的构造器:当使用super()时,它必须是子类构造器中的第一条语句。这样做是为了确保在子类对象实例化过程中,父类的构造器首先被调用,以正确初始化继承自父类的属性。如果子类的构造器没有显式调用super(),编译器将自动插入一个无参的super()调用,前提是父类有一个无参构造器。 访问父类的成员(属性和方法):在子类的任何方法(包括构造器)内,可以使用super.属性或super.方法名()的形式访问父类的属性和方法。这在以下几种情况下特别有用: 当子类需要覆盖(Override)父类的方法,但在新方法中仍然想要调用父类中被覆盖的方法。 为什么需要super 访问父类的方法和属性? 类中 方法调用的逻辑
属性的访问逻辑:
本质:继承的本质==>向上查找,以及通过super.[属性/方法] 访问直接访问父类 |
java的动态绑定机制
多态的应用2:多态参数 |
注意:构造器是最后执行的 当涉及继承时: 构造器内默认隐藏的两步: 1.先加载类 注意:z在类调用时,完成静态属性和静态 代码块的加载;同时,静态代码块只执行一次; |
内部类 内部类分为四类:
1.局部内部类定义在方法中/代码块中 匿名内部类
WHY? 使用场景:基于接口的内部类
2.基于类的匿名内部类 原来new一个对象,只需要 匿名内部类的最佳实践: |
注解
相当于做了一个语法的校验,加强检查的功能了。 suppresswaring |
自定义异常 |
方法的重载 overload
定义:一个类中方法名字相同,但是参数列表不同的方法。
均可以构成方法的重载(也就是说是不同的方法)
方法的调用机制
方法的传参
可变参数
Java中允许同一个类中多个同名 同功能但是参数个数不同的方法,封装成一个方法。
==>对方法重载的一种优化,不用因为参数个数不同而写多个方法了
可以把传入的参数nums 视为数组
The text was updated successfully, but these errors were encountered: