摘要: 1.成员内部类(也称一般的内部类) 2.静态内部类(只是上面的内部类前面加上了static而已) 3.局部内部类 4.匿名内部类 阅读全文
posted @ 2022-04-06 22:50 花田007 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 总结: 1.接口中定义方法和属性推荐使用默认的写法也就是void run不用写修饰符,会默认有public abstract修饰符。属性默认是静态常量有public static final,可以在被继承的类中使用(作用和继承一致) 2.java是单继承但是可以通过实现多个接口的方式实现“伪多继承” 阅读全文
posted @ 2022-04-06 22:15 花田007 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 思考题答案(亲测) 抽象类虽然不能被new出来但是,仍然存在构造器。 阅读全文
posted @ 2022-04-06 21:38 花田007 阅读(8) 评论(0) 推荐(0) 编辑
摘要: final修饰后将不能被继承。 阅读全文
posted @ 2022-04-06 08:49 花田007 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 1、静态方法不能直接调用非静态 2、非静态方法可以直接调用静态方法 原因: 静态方法和类一起加载,非静态方法只有在创建对象时才会加载。所以才有了静态方法不能直接调用非静态(因为静态方法加载时类还没有初始化也就还没有非静态方法),非静态方法可以直接调用静态方法(因为非静态方法加载时静态方法早就加载了) 阅读全文
posted @ 2022-04-06 08:44 花田007 阅读(2059) 评论(0) 推荐(0) 编辑
摘要: public class Demo01 { //一般用来赋初值(程序在执行时无法主动调用) { System.out.println("匿名代码块"); } //1.加载类的时候就会执行,只执行一次 static { System.out.println("静态代码块"); } public Dem 阅读全文
posted @ 2022-04-06 08:33 花田007 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 1.父类引用指向子类的对象(反过来就不行)例如:Map map = new HashMap();或者Person p = new Student(); 2.把子类转型为父类,向上转型 3.把父类转换为子类,向下转型:强制转换 4.方便方法的调用,减少重复代码 判断两个类是否有父子关系使用instan 阅读全文
posted @ 2022-04-05 22:58 花田007 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 个人理解: 比如你是一个酒神,对酒情有独钟。某日回家发现桌上有几个杯子里面都装了白酒,从外面看我们是不可能知道这是些什么酒,只有喝了之后才能够猜出来是何种酒。你一喝,这是剑南春、再喝这是五粮液、再喝这是酒鬼酒….在这里我们可以描述成如下: 酒 a = 剑南春 酒 b = 五粮液 酒 c = 酒鬼酒 阅读全文
posted @ 2022-04-05 18:06 花田007 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2022-04-05 17:31 花田007 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 静态方法和非静态方法区别很大(重写只和非静态方法有关,所以只有非静态才有重写) 1.静态方法: 2.非静态方法: 总结: 重写:需要有继承关系,子类重写父类的方法 1.方法名必须相同 2.参数列表必须相同 3.修饰符:范围可以扩大但不能缩小:public > protected > Default 阅读全文
posted @ 2022-04-05 16:30 花田007 阅读(25) 评论(0) 推荐(0) 编辑