Java从入门到精通Chapter7_1

来源:互联网 发布:亿级别数据库 编辑:程序博客网 时间:2024/05/01 08:15
public class Chapter7_1 {    // 如果在执行类时,希望先执行类的初始化动作,可以使用static定义一个静态区域    // 当这段代码被执行时,首先执行static快中的程序,并且只会执行一次    static     {        // some     }    private int id;    private String name;    private String category;    public static double PI = 3.1415;    public Chapter7_1()     {        // 如果在类定义中的构造方法都不是无参的构造方法,则编译器不会为类设置一个        // 默认的无参构造方法,当试图调用无参构造方法实例化一个对象时,编译器会        // 报错。只有在类中没有任何构造方法时,编译器才会在该类中自动创建一个        // 不带参数的构造方法.        this("this 调用有参构造方法");        System.out.println("无参构造方法");    }    public Chapter7_1(String name)    {        System.out.println("有参数构造方法");    }    public String getName()    {        int id = 0;        setName("Java");        return id + this.name;    }    public void setName(String name)    {        this.name = name;    }    public Chapter7_1 getChapter7_1()    {        return this;    }    public static void main(String[] args)     {        Chapter7_1 class1 = new Chapter7_1();        System.out.println();        Chapter7_1 class2 = new Chapter7_1("test");        // 在Run/Run Configurations/arguments设置        System.out.println("主函数参数个数:" + args.length);        for(int i = 0; i < args.length; i++)            System.out.println(args[i]);        // 在静态方法中不可以使用this关键字        // 在静态方法中不可以直接调用非静态方法        // 在Java中,不能将方法体内的局部变量声明为static         System.out.println();        System.out.println(Chapter7_1.PI);    }    // 类的访问控制,如果是private修饰,则成员只能在本类中使用,在子类中是不可见的,    // 并且对于其他包的类也是不可见的。    // 如果是public的,则除了可以在本类中使用这些数据之外,还可以在子类和其他包中    // 类使用。    // 如果是protected的,那么只有本包内的该类的子类和其他类可以使用    // 只有public修饰符的类可以被子类进行访问,如果父类不允许通过继承产生的子类访问    // 他的成员变量,必须使用private修饰父类的变量    // 当声明类时不使用任何修饰符,则这个类预设为包存取范围,即只有一个包中的类可以    // 调用这个类的成员变量或成员方法,默认访问权限    // 类权限的设定会约束类成员上的权限设定}