2018-05-05学习小结 - 关于类的专题研究9

学习小结

14.9 点拨

  1. 匿名类注意事项:
    a. 使用匿名内部类,必须且只能继承一个类或实现一个接口;
    b. 匿名内部类中不能定义构造函数;
    c. 匿名内部类中不能存在任何静态成员变量和静态方法;
    d. 匿名内部类为局部内部类;
    e. 匿名内部类不能是抽象的,且必须实现继承类或者实现接口的所有抽象方法。

  2. static特点:
    a. 一个是static属性或方法可以由类名称直接调用;
    b. 另一个是static属性是一个共享属性。

  3. final好处:
    a. 提高性能,JVM和Java应用都会缓存final 变量;
    b. 可以安全的在多线程环境下共享,不需要额外同步开销;
    c. 使用final ,JVM会对方法、变量及类进行优化;
    d. 创建不可变类要使用final.

14.10 练习

  1. 定义一个包含“name”、“age”和“sex”的对象,使用匿名对象输出对象实例。
package com.Javastudy2;

/**
 * @author Y.W.
 * @date 2018年5月5日 下午11:21:53
 * @Description TODO 定义一个包含“name”、“age”和“sex”的对象,使用匿名对象输出对象实例
 */
public class P384_14_10_1 {

    public static void main(String[] args) {
        System.out.println(new Person41().talk()); // 声明匿名对象,并调用talk()方法
    }

}

class Person41 {
    private String name = "张三";
    private int age = 25;
    private String sex = "男";

    public String talk() {
        return "我是:" + name + ",性别:" + sex + ",今年:" + age + "岁";
    }
}

运行结果:

运行结果
  1. 完成一个统计book类产生实例化对象的个数。
package com.Javastudy2;

/**
 * @author Y.W.
 * @date 2018年5月5日 下午11:37:03
 * @Description TODO 完成一个统计book类产生实例化对象的个数。
 */
public class P384_14_10_2 {

    public static void main(String[] args) {
        new book4();
        new book4();
        new book4();
        new book4();
        new book4();
    }

}

class book4 {
    static int count = 0;

    // 每次调用任意构造方法实例化都会执行
    public book4() {
        count++;
        System.out.println("实例化对象次数:" + count);
    }
}

运行结果:

运行结果

思考

终于结束了这一章,准备开始新章节吧


记于2018-5-5 23:59:51
By Yvan

你可能感兴趣的:(2018-05-05学习小结 - 关于类的专题研究9)