面向对象(下)-复习
1. abstract 能修饰哪些结构?修饰以后,有什么特点? 类、方法。 类不能实例化,提供子类 抽象方法,只定义了一种功能的标准。具体的执行,需要子类去实现。 2. 接口是否能继承接口?抽象类是否能实现(implements)接口?抽象类是否能继承非抽象的类? 能,能,能 3. 声明抽象类,并包含抽象方法。测试类中创建一个继承抽象类的匿名子类的…
面向对象(下)-局部内部类的使用
package top.qaqaq.java.P365; public class InnerClassTest1 { //开发中很少见 public void method() { //局部内部类 class AA{ } } //返回一个实现了Comparable接口的类的对象 public Comparable getComparable() …
面向对象(下)-Java8接口新特性的应用
package top.qaqaq.java.P360; interface Filial {// 孝顺的 default void help() { System.out.println("老妈,我来救你了"); } } interface Spoony {// 痴情的 default void help() { System.out.print…
面向对象(下)-Java8中接口的新特性
package top.qaqaq.java.P359; /* * JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法 * * */ public interface CompareA { // 静态方法 public static void method1() { System.out.println("CompareA:北京…
面向对象(下)-接口练习:比较对象大小
package top.qaqaq.java.P358; /* * 定义一个接口用来实现两个对象的比较。 * interface CompareObject{ public int compareTo(Object o); //若返回值是 0 , 代表相等; 若为正数,代表当前对象大;负数代表当前对象小 } * */ public interfac…
面向对象(下)-接口课后两道笔试题
package top.qaqaq.java.P357; interface A { int x = 0; } class B { int x = 1; } class C extends B implements A { public void pX() { //编译不通过。因为x是不明确的 //System.out.println(x); Sy…
面向对象(下)-接口应用:工厂模式
“玩转”Java 系列 ————————————————————————————— 1 工厂设计模式 接口的应用:工厂模式 工厂模式:实现了创建者与调用者的分离,即将创建对象的具体过程屏蔽隔离 起来,达到提高灵活性的目的。 其实设计模式和面向对象设计原则都是为了使得开发项目更加容易扩展和维 护,解决方式就是一个“分工”。 社会的发展也是这样,分工越…
面向对象(下)-接口应用:代理模式
概述: 代理模式是Java开发中使用较多的一种设计模式。代理设计就是为其 他对象提供一种代理以控制对这个对象的访问。 应用场景:  安全代理:屏蔽对真实角色的直接访问。  远程代理:通过代理类处理远程方法调用(RMI)  延迟加载:先加载轻量级的代理对象,真正需要再加载真实对象比如你要开发一个大文档查看软件,大文档中有大的图片,有可能一个图片…
面向对象(下)-抽象类的课后练习
package top.qaqaq.java.P349; /* * (1)定义一个Employee类,该类包含: private成员变量name,number,birthday,其中birthday 为MyDate类的对象; abstract方法earnings(); toString()方法输出对象的name,number和birthday。 *…
面向对象(下)-创建抽象类的匿名子类对象
package top.qaqaq.java.P347; /* * abstract关键字的使用 * 1. abstract:抽象的 * 2. abstract可以用来修饰的结构:类、方法 * * 3. abstract修饰类:抽象类 * > 此类不能实例化 * > 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程) * >…
面向对象(下)-抽象性的练习:基本操作
package top.qaqaq.java.P346; /* * 编写一个Employee类,声明为抽象类, 包含如下三个属性:name,id,salary。 提供必要的构造器和抽象方法:work()。 * * * */ public abstract class Employee { private String name; private i…
面向对象(下)-abstract使用中的注意点
package top.qaqaq.java.P345; /* * abstract使用上的注意点: * 1. abstract不能用来修饰:属性、构造器等结构 * * 2. abstract不能用来修饰私有方法、静态方法、final的方法、final类 * * * * */ public class AbstractTest1 { }
面向对象(下)-抽象类与抽象方法的使用
package top.qaqaq.java.P343; /* * abstract关键字的使用 * 1. abstract:抽象的 * 2. abstract可以用来修饰的结构:类、方法 * * 3. abstract修饰类:抽象类 * > 此类不能实例化 * > 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程) * >…