黑马程序员技术交流社区

标题: 多态。。差点晕死我。。{:2_39:} [打印本页]

作者: gss    时间: 2015-9-15 21:59
标题: 多态。。差点晕死我。。{:2_39:}
public class Animal1 {
        public Animal1() {
        }
        public void eat(){
                System.out.println("动物喜欢吃饭 ");
               
               
        }

}
public class Dog1 extends Animal1 {
        public void eat(){
                System.out.println("我喜欢骨头");
        }
        public void lookHome(){
               
                System.out.println("我会看家");
               
        }
public class Cat1  extends Animal1{
        public Cat1() {
        }
        public void eat(){
                System.out.println("我喜欢吃鱼");
        }
        public void catchMuose(){
                System.out.println("我喜欢抓老鼠");
        }

}
public class Animal_test {

        public static void main(String[] args) {
                 /*Animal1  cat=new Cat1();//向上转型/如果这样定义就不能调用子类的特有方法或者属性
              //  想调用父类的特有属性或者方法必须进行强制类型转换
                 cat.eat();
                 Cat1 c=(Cat1)cat;*///向下转型
                 method        (new Cat1());         
                 method(new Dog1());
               

        }
        public static void method(Animal1 s){////当作参数的时候用多态最好,因为扩展性强
                if(s instanceof Cat1){//instanceof 判断前边的引用是否是后边的数据类型
                        Cat1 c=(Cat1)s;
                        c.catchMuose();
                        c.eat();
                       
                }
                if( s  instanceof Dog1){
                        Dog1 d=(Dog1)s;
                        d.eat();
                        d.lookHome();
                       
                       
                       
                }
               
               
        }
       
       
       

}

}

作者: heima_jinchen    时间: 2015-9-15 22:00
么么哒,这么先进,赞两个!!!!!!
作者: silencea    时间: 2015-9-15 22:02
先人一步,看不懂,跟不上了..
作者: 平凡的鱼    时间: 2015-9-15 22:09
表示落后了
作者: 丶洛夜    时间: 2015-9-15 22:20
学的真快,今天的继承我已经云里雾里了。。。
作者: 笑笑精灵    时间: 2015-9-15 22:24
事物的多种表现形态。
作者: 王海彬    时间: 2015-9-15 22:35
这个还好了,记得老毕的视频多态讲的比较形象,多态调来调去调的还是子类,不过就是看作是父类而已,到了内部类的时候就很萌了
作者: 丶不缺小哥范儿    时间: 2015-9-16 00:48
学的真快啊~~
作者: gss    时间: 2015-9-16 21:34
heima_jinchen 发表于 2015-9-15 22:00
么么哒,这么先进,赞两个!!!!!!

谢谢。。{:2_32:}
作者: gss    时间: 2015-9-16 21:35
王海彬 发表于 2015-9-15 22:35
这个还好了,记得老毕的视频多态讲的比较形象,多态调来调去调的还是子类,不过就是看作是父类而已,到了内 ...

嗯嗯。。。。。对的那个老师讲的很好。。。
作者: gss    时间: 2015-9-16 21:36
丶洛夜 发表于 2015-9-15 22:20
学的真快,今天的继承我已经云里雾里了。。。

慢慢来。。加油。。多写。。
作者: hhuxiaolang    时间: 2015-9-16 21:37
_(:з」∠)_多态之前就已经阵亡了
作者: gss    时间: 2015-9-16 21:38
平凡的鱼 发表于 2015-9-15 22:09
表示落后了

额。。没有。。我只是提前看了一点。。。
作者: gss    时间: 2015-9-16 21:39
丶洛夜 发表于 2015-9-15 22:20
学的真快,今天的继承我已经云里雾里了。。。

加油。。。
作者: 然后呢8908    时间: 2015-9-16 21:48
果然是大神。
作者: gss    时间: 2015-9-16 22:00
hhuxiaolang 发表于 2015-9-16 21:37
_(:з」∠)_多态之前就已经阵亡了

没事。。。在活过来就好了 加油!
作者: gss    时间: 2015-9-16 22:01
然后呢8908 发表于 2015-9-16 21:48
果然是大神。

请叫我学沫谢谢。。。
作者: 王海彬    时间: 2015-9-16 22:55
呵呵,今天听了异常处理,看完后就将中间的忘了
作者: 泡沫世界    时间: 2015-9-16 23:27
父类引用指向子类对象   其实我认为只要是看你设置的是什么返回值类型    想什么多态   什么向上向下的   就感觉乱
作者: kaysun    时间: 2015-9-17 00:30
这个看懂了,可是代码报的错,我看不懂了   T T...

---------- javac ----------
Animal_test.java:1: 错误: 类Animal1是公共的, 应在名为 Animal1.java 的文件中声明
public class Animal1 {
       ^
Animal_test.java:11: 错误: 类Dog1是公共的, 应在名为 Dog1.java 的文件中声明
public class Dog1 extends Animal1 {
       ^
Animal_test.java:38: 错误: 无法从静态上下文中引用非静态 变量 this
                 method        (new Cat1());         
                                ^
Animal_test.java:33: 错误: 内部类Dog1.Animal_test中的静态声明非法
        public static void main(String[] args) {
                           ^
  修饰符 'static' 仅允许在常量变量声明中使用
Animal_test.java:43: 错误: 内部类Dog1.Animal_test中的静态声明非法
        public static void method(Animal1 s){////当作参数的时候用多态最好,因为扩展性强
                           ^
  修饰符 'static' 仅允许在常量变量声明中使用
5 个错误

输出完成 (耗时 1 秒) - 正常终止
作者: 193936696    时间: 2015-9-17 00:42
高大上的赶脚
作者: meihua    时间: 2015-9-17 09:20
这个你往后学,做了几道题后就了解了。并没有什么的。变量不存在覆盖,记住这个。
作者: 丶洛夜    时间: 2015-9-17 12:24
gss 发表于 2015-9-16 21:39
加油。。。

嗯,必须跟上响哥的节奏
作者: 不爱念经的小僧    时间: 2015-9-17 14:26
父类对象指向子类引用
作者: KALF    时间: 2015-9-17 14:38
加油吧···未来还有更多资深的内容要学!!
作者: Vincent饭饭    时间: 2015-9-17 16:22
多态是很好用的
作者: gss    时间: 2015-9-17 20:07
193936696 发表于 2015-9-17 00:42
高大上的赶脚

额。。。。没有没有。。。
就是一个例子。 你也加油!
作者: chenyannna    时间: 2015-9-17 20:16
也是自学基础的吗
作者: gss    时间: 2015-9-18 21:11
泡沫世界 发表于 2015-9-16 23:27
父类引用指向子类对象   其实我认为只要是看你设置的是什么返回值类型    想什么多态   什么向上向下的    ...

嗯嗯。。。谢谢 我明白了{:2_32:}
作者: 洋葱头头    时间: 2015-9-18 21:21
给新人些关爱
作者: 史世锋    时间: 2015-9-18 21:29
刚芭蕾
作者: yi秒的危笑    时间: 2015-9-18 21:34
今天考试都乱了
作者: 往事如风555    时间: 2015-9-18 21:40
学到那个什么内存图,已经蒙了。
作者: 乐滋滋儿    时间: 2015-9-18 21:48
不懂还没学到怎么。。。
作者: 天涯莫名    时间: 2015-9-18 21:48
努力学习^_^




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