8.7 属性覆盖 ---- this super的区别

demo

class Channel {
    String info = "www.mldn.cn";// 非私有属性;默认default,private不可访问;
}

class DatabaseChannel extends Channel {
    int info = 12;
    public void fun(){
        System.out.println("[父类info成员属性]" + super.info);
        System.out.println("【子类info成员属性】" + this.info);//-先查找本类是否有info属性,本类如没有,找父类中info属性
    }
}

public class HelloWorld {
    public static void main(String args[]){
        DatabaseChannel channel = new DatabaseChannel();
        channel.fun();
    }
}

super和this的区别----常见面试题

  • 1.this表示先从本类查找所需要都属性和方法,如果本类不存在,则查找父类;super不查找子类,直接查找父类;
  • 2.都可以在进行构造方法调用时,this()调用的时本类构造,super()是由子类调用父类构造;2个语句都必须放在构造语句首行;所以不能够同时出现;
  • 3.this可以表示当前对象;
posted @   盘思动  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
点击右上角即可分享
微信分享提示