this、static、main方法、静态代码块、final关键字、Runtime类、Cloneable类、类成员的访问控制权限、异常体系

this表示当前对象,用在方法内部,当某对象调用该方法时,该方法中的this就代表调用该方法的对象;

static关键字:

修饰类属性后,该属性就成为该类所有实例的公共属性,修改该属性值,所有的实例的该属性的值都发生了变化;

main()方法:

静态代码块:

final关键字:

Runtime类:

public class RuntimeDemo {
    //java进程与子进程交互
    public static void main(String[] args) {
        Runtime run = Runtime.getRuntime();
        try {
            Process process = run.exec("notepad.exe");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

可以通过Runtime类为开发者执行操作系统的可执行程序;


 

Cloneable类,对象的克隆:

public class Person implements Cloneable {
    //对象可以被克隆,要实现Cloneable接口,并改写clone,确保其可见性;
    String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Person(String name) {

        this.name = name;
    }
    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                '}';
    }
    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();//调用父类protected方法;
    }
    //修饰符设为public,其他包可以调用clone;
    //protected修饰可以被同包对象调用,或者非同胞的子类(接口实现类)调用;
    //事实上是拓展了Object的clone的方法访问权限;
}

 以上为对象的浅克隆,对象的深克隆可以通过序列化的方式实现。

 


 

类成员的访问控制权限:

只要记住protected的2个要点(同包可访问,其他包的子类可访问)即可推理其他控制符权限:

 

posted @ 2018-02-03 21:20  笔记Next  阅读(226)  评论(0编辑  收藏  举报