黑马程序员技术交流社区

标题: 关于this语句 [打印本页]

作者: 郭娇珍    时间: 2012-12-25 21:07
标题: 关于this语句
本帖最后由 郭娇珍 于 2012-12-25 21:46 编辑

不知道为什么我这段代码运行没结果class Person
{
        private String name;
        private int age;
        Person()
        {
        
        }
        Person(String name)
        {
                this.name=name;
        }
        Person(String name,int age)
        {
                this(name);
                this.age=age;
        }
}
class PersonDemo
{
        public static void main(String[] args)
        {
                Person p= new Person("lisi",30);
        }
}
大家帮忙看看是什么原因呀
作者: 高境    时间: 2012-12-25 21:21
你没有输出语句,当然没有结果啦~~~
作者: 郭娇珍    时间: 2012-12-25 21:26
高境 发表于 2012-12-25 21:21
你没有输出语句,当然没有结果啦~~~

我新建一个对象,调用构造函数就行了呀,但是构造函数没执行呀,为什么
作者: 高境    时间: 2012-12-25 21:32
构造函数执行了,你函数里面没有输出语句,你怎么能显示p这个对象呢?
作者: 金鑫    时间: 2012-12-25 21:42
  1. class PersonDemo {

  2.         /**
  3.          * @param args
  4.          */
  5.         public static void main(String[] args) {

  6.                 Person p = new Person("lisi", 30);
  7.                 //在main方法中,加一条输出语句,将获取的值进行输出
  8.                 System.out.println("my name is " + p.getName() + "\n" + "my age is "
  9.                                 + p.getAge());
  10.         }

  11. }

  12. class Person {
  13.        
  14.         private String name;
  15.         private int age;
  16.        
  17.         //因为你属性是private来修饰,所以在创建对象后不能直接调用,必须创建一个方法,来对外部提供访问数据的方式
  18.         //public修饰的方法,可以由别的类直接访问。该方法的功能是返回本类中的name和age的值,由外部来获取
  19.         public String getName() {
  20.                 return name;
  21.         }

  22.         public int getAge() {
  23.                 return age;
  24.         }

  25.         Person() {

  26.         }

  27.         Person(String name) {
  28.                 this.name = name;
  29.         }

  30.         Person(String name, int age) {
  31.                 this(name);
  32.                 this.age = age;
  33.         }

  34. }
复制代码

作者: 郭娇珍    时间: 2012-12-25 21:45
{:soso_e189:}明白,谢谢了{:soso_e163:}{:soso_e163:}{:soso_e163:}
作者: 陈进    时间: 2012-12-26 21:36
我也明白了。。。
作者: 花伟昌    时间: 2012-12-26 22:41
class Person                                          
{                                                     
        private String name;                          
        private int age;                              
        Person()                                      
        {                                             
                                                      
        }                                             
        Person(String name)                           
        {                                             
                this.name=name;                       
                                          
        }                                             
        Person(String name,int age)                  
        {                                             
                this(name);                           
                this.age=age;                        
                                          
        }                                             
  void speak()//定义一个输出语句的方法.         
  {                                             
   System.out.println(this.name+","+this.age)
  }                                             
}                                                     
class PersonDemo                                      
{                                                     
        public static void main(String[] args)        
        {                                             
                Person p= new Person("lisi",30);      
                p.speak();//用对象调用方法.           
        }                                             
}                                                     
                                                      





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2