本帖最后由 代臣 于 2012-1-1 13:30 编辑
private Person(){}
private:私有,权限修饰符,用于修饰类中的成员(成员变量,成员函数(方法))。将Person()私有化以后,类以外即使已经建立了对象也不能直接访问。但是要使用Person()方法就需要在Person类中提供对应访问Person()方法的方式。- class Person
- {
- //构造代码块,输出人的共同属性“地球人”
- {
- System.out.println("地球人:");
- }
- private Person(){}//这里是什么意思?
- /*"这里是什么意思?":上面这条语句就是定义一个私有化的Person构造函数,
- 函数体内容为空,类之外不可以调用这个函数。*/
- private String name = "hah";//定义name,默认值为:hah
- private int age;//定义age,默认值为0
- private static String country = "cn";//该类中的static代码块
- Person(String name, int age)//在堆内存中建立对象的特有属性。
- {
- this.name = name;
- this.age = age;
- speak();
- }
-
- /*如果你定义的是构造代码的话,构造代码块定义的一般是对象共享的属性或者内容,这个地方人的年龄和名字
- 应该是每个人特有的,除非同名,所以你利用代码块打印name和age没有意义。
- 下面定义了一个speak()方法打印name和age*/
- public void speak()
- {
- System.out.println(name+".."+age);//打印name ,age
- }
- }
- class PersonDemo
- {
- public static void main(String[] args)
- {
- //Person p = new Person();//建立对象
- /*上面这条语句有问题吧,在定义构造函数Person()的时候,Person()方法的类型是private(私有)的,
- 类之外无法调用private类型的方法,应该在Person类中提供访问Person()方法的方式*/
- //下面这条语句就能运行通过,因为Person(String name, int age)方法是可以被类之外调用的。
- Person p1 = new Person("xiaoli",20);
- }
- }
复制代码 |