this.name=name; this.dog=dog; } // public void showInfo() { System.out.println("人名是:"+this.name); } } //定义一个狗类 class Dog { int age; String name; public Dog(int age,String name) { this.age=age; this.name=name; } //显示狗名 public void showInfo() { System.out.println("狗名叫"+this.name); } } //定义一个小孩类 class Child { int age; String name; //total是静态变量,因此他可以被任何对象访问 static int total=0; public Child(int age,String name) { this.age=age; this.name=name; } public void joinGame() { total++; System.out.println("有一个小孩加入了"); } } //创建一个学生类 class Stu { int age; String name; int fee; static int totalFee; public Stu(int age,String name,int fee) { this.age=age; this.name=name; totalFee+=fee; } //返回总学费[这是一个类方法(静态方法)] //java中规则:类变量原则上用类方法去访问 public static int getTotalFee() { return totalFee; } } // class Clerk { public String name; //private private int age; private float salary; public Clerk(String name,int age,float sal) { this.name=name; this.age=age; this.salary=sal; } //通过一个成员方法去控制和方位私有的属性 public float getSal() { return this.salary; } } * 访问控制修饰符控制方法和变量的访问权限: ① 公开级别:用public修饰,对外公开 ② 受保护级别:用protected修饰,对子类和同一个包中的类公开 ③ 默认级别:没有修饰符号,向同一个包的类公开 ④ 私有级别:用private修饰,只有类本身可以访问,不对外公开 4种方位级别的访问范围 访问级别 访问控制修饰符 同类 同包 子类 不同包 公开 public * * * * 受保护 protected * * * × 默认 没有修饰符 * * × × 私有 private * Х × × * 包-必要性 问题提出,请看下面一个场景:[eclipse] 现在有两个程序员共同开发一个项目,程序员xiaoming希望定义一个类取名Dog,程序员xiaoqiang也想定义一个类也叫Dog.两个程序员为此还吵了起来,怎么办?见dfssd.java. |