黑马程序员技术交流社区

标题: 为什么得不到赋值的名字? [打印本页]

作者: 陈延真    时间: 2013-5-16 11:56
标题: 为什么得不到赋值的名字?
本帖最后由 陈延真 于 2013-5-30 21:30 编辑

public class Test1
{
        public static void main(String[] args)
        {
                Animal a = new Dog("ok dog");
                a.show();
//                a.setName("ok dog");
                a.getName();
               
                /*Dog d = new Dog();
                System.out.println(d.getName());
               
                Dog d2 = new Dog("ok dog");
                System.out.println(d2.getName());
                d2.show();
                d2.method();*/
        }
}
abstract class Animal
{
        private String name;
        public final int x = 10;
        public Animal()
        {
                System.out.println("Animal");
        }
        public Animal(String name)
        {
                this.name = name;
        }
        public void setName(String name)
        {
                this.name = name;
        }
        public String getName()
        {
                return name;
        }
        public void show()
        {
                System.out.println("show");
        }
        public abstract void method();

}
class Dog extends Animal
{
        public Dog()
        {
                super();
                System.out.println("dog");
        }
        public Dog(String name)
        {
                super(name);
        }
        public void show()
        {
                System.out.println("show");
        }
        public void method()
        {
                System.out.println("dog method");
        }
}
作者: 沈艳南    时间: 2013-5-16 12:07
你虽然给他赋值了 但是你没有输出 吧
class Test3 {
       
                public static void main(String[] args)
                {
                        Animal a = new Dog("ok dog");
                        a.show();
//                      
                     System.out.println(a.getName());
                      
                }
        }
        abstract class Animal
        {
                private String name;
                public final int x = 10;
                public Animal()
                {
                        System.out.println("Animal");
                }
                public Animal(String name)
                {
                        this.name = name;
                }
                public void setName(String name)
                {
                        this.name = name;
                }
                public String getName()
                {
                        return name;
                }
                public void show()
                {
                        System.out.println("showfu");
                }
                public abstract void method();

        }
        class Dog extends Animal
        {
                public Dog()
                {
                        super();
                        System.out.println("dog");
                }
                public Dog(String name)
                {
                        super(name);
                }
                public void show()
                {
                        System.out.println("show");
                }
                public void method()
                {
                        System.out.println("dog method");
                }
        }
       
作者: 神之梦    时间: 2013-5-16 13:02
没注释看着真辛苦
作者: Sword    时间: 2013-5-17 00:29
沈艳南 发表于 2013-5-16 12:07
你虽然给他赋值了 但是你没有输出 吧
class Test3 {
       

亲,代码加注释啊,这样别人才容易看懂
作者: long    时间: 2013-5-17 00:33
多态是比较讨厌的,尤其是分析输出内容的时候。
作者: 沈艳南    时间: 2013-5-17 21:49
class Test5 {
        
        public static void main(String[] args)
        {
                Animal a = new Dog("ok dog");
                a.show();
//              //此处改为输出语句就可以了   输出你赋值的名字.
             System.out.println(a.getName());
               
        }
}
abstract class Animal
{
        private String name;
        public final int x = 10;
        public Animal()
        {
                System.out.println("Animal");
        }
        public Animal(String name)
        {
                this.name = name;
        }
        public void setName(String name)
        {
                this.name = name;
        }
        public String getName()
        {
                return name;
        }
        public void show()
        {
                System.out.println("showfu");
        }
        public abstract void method();

}
class Dog extends Animal
{
        public Dog()
        {
                super();
                System.out.println("dog");
        }
        public Dog(String name)
        {
                super(name);
        }
        public void show()
        {
                System.out.println("show");
        }
        public void method()
        {
                System.out.println("dog method");
        }
}
作者: 陈延真    时间: 2013-5-17 23:00
Sword 发表于 2013-5-17 00:29
亲,代码加注释啊,这样别人才容易看懂

呵呵,谢了。下次会注意的。
作者: Sword    时间: 2013-5-21 09:44

如果问题已经解决了,那么大家请把帖子的类型改为“已解决”,谢谢合作




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