Java学习易混易错点总结

1.final修饰参数并不能够构成重载

2.instanceof在这里插入图片描述

3.关于覆写

  • 父类当中private修饰的成员方法不能够被覆写,如果在子类当中定义了一个相同方法名和参数的方法,则是两个类当中的毫无关系的方法(无法动态绑定)。
  • 对于非私有的成员变量和方法都可以被覆盖,但是只有覆写的成员方法才可以发生动态绑定,成员变量可以被覆写,但不会有动态绑定

4.关于继承

  • 关于私有成员变量无论父类中的成员变量是pirvate、public还是其它类型的,子类都会拥有(继承)父类中的这些成员变量。但是父类中的私有成员变量,无法在子类中直接访问,可以通过从父类中继承得到的protected、public方法(如getter、setter方法)来访问。
    个人认为这更好的提现了JAVA特性中的封装,而且符合软件工程的设计思想:低耦合。
  • 关于静态成员变量无论父类中的成员变量是静态的、还是非静态的,子类都会拥有父类中的这些成员变量。
  • 关于被子类覆盖的成员变量无论父类中的成员变量是否被子类覆盖,子类都会拥有父类中的这些成员变量。
  • super当然也服从规定的所有访问权限,对于private也是访问不了的,但是除了private其他的之外的父类方法和变量都可以访问的,比如访问父类被覆写的方法。
  • 关于父类中默认的方法和变量,如果在被本包的子类继承,可以继承这些默认的方法和变量,不在本包则不可。此时在别的包中的子类,是不可以覆写这些默认方法,此时这些默认方法被当作private处理,本包可以。
    +The method EmployeeTest.getName() does not override the inherited method from round2 since it is private to a different package
5.main方法只能在public类当中,且可以访问本类的私有方法(当然是在创建一个本类对象的基础上调用对象的私有方法),由于main方法是静态的,所以无法调用非静态的成员方法和变量(加载时就创建了), main方法中也无法使用super。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值