192.168.1.41_20200828-方栋泽
一、问题
自己理解着摸棱两可的两个问题今天终于解决了
1.super关键字和this关键字的区别
相同点:
①都是与实例有关
使用super和this都可以访问类成员和实例成员,但不建议使用;super关键字和this关键字都不能出现在static修饰的方法中和实例 初始化器中
②都可以用于调用构造方法
当super()关键字和this()关键字用于调用构造时,必须放在构造方法的第一行;但是在同一个构造方法内,super关键字和this关键字 不能同时出现
不同点:
①表示的实例不同
this关键字代表的是本类的当前实例,即可以通过this关键字访问当前类中的成员
super关键字用于访问从父类继承的、可见的的成员
②调用的构造不同
this关键字用于调用本类中的其他重载构造
super关键字用于调用父类的构造
③访问的成员不同
this关键字可用于访问当前类中的的成员和从父类继承的、可见的成员
super关键字用于访问从父类继承的、可见的成员
④使用方式不同
this关键字可以单独使用,比如可以直接输出this或者当作返回值;this在本类中可以忽略
super关键字不能单独使用,必须通过super()或者super.的方法来使用
2.抽象类和接口的区别
相同点:
①都不能被实例化
抽象类中虽然有构造方法,但是构造不能被实例化,只能被子类构造调用;接口中没有构造更不能被实例化
不论是抽象类还是接口都是被abstract修饰的,只不过接口中可以不用显式书写
②修饰方法时
都不能与final和static关键字连用
不同点:
①继承
抽象类是类,只能继承一个直接父类;而接口可以继承多个父接口
②实现
一个类可以实现多个接口;但是接口与接口之间只能继承不能实现
③构造
抽象类中可以有构造,而接口中不能有构造
④初始化器
抽象类中可以有初始化器,但是接口中不能有初始化器
⑤常量、变量
抽象类中可以有常量和变量;但是接口中只能有常量
⑥抽象方法访问权限修饰符
抽象类中可以有除了ptivate之外的修饰符,但是接口中只能有public修饰符
⑦字段
抽象类可以有字段,而且是任意访问权限修饰符修饰的,但是接口中不能有字段,而且只能由public static final修饰的
二、吐槽
感觉自己总是会在下课前20分钟内睡着,而且是那种毫无任何反应的睡着了,一点反应措施都没有,总是会错过一些精彩的部分,感觉很可惜,是不是得在下课前21分钟的时候先抽自己几巴掌才不会睡着
近期评论