A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© gss 中级黑马   /  2015-9-15 21:59  /  1747 人查看  /  39 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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();
                       
                       
                       
                }
               
               
        }
       
       
       

}

}

点评

多做几道题就会了  发表于 2015-9-16 11:00

39 个回复

倒序浏览
么么哒,这么先进,赞两个!!!!!!
回复 使用道具 举报
先人一步,看不懂,跟不上了..
回复 使用道具 举报
表示落后了
回复 使用道具 举报
学的真快,今天的继承我已经云里雾里了。。。
回复 使用道具 举报
事物的多种表现形态。

点评

gss
嗯嗯。。对的对的。。明白了  发表于 2015-9-16 21:30
回复 使用道具 举报
这个还好了,记得老毕的视频多态讲的比较形象,多态调来调去调的还是子类,不过就是看作是父类而已,到了内部类的时候就很萌了
回复 使用道具 举报
学的真快啊~~

点评

gss
嘿嘿。。。,没有没有。。。  发表于 2015-9-16 21:27
回复 使用道具 举报
gss 中级黑马 2015-9-16 21:34:25
9#
heima_jinchen 发表于 2015-9-15 22:00
么么哒,这么先进,赞两个!!!!!!

谢谢。。{:2_32:}
回复 使用道具 举报
gss 中级黑马 2015-9-16 21:35:25
10#
王海彬 发表于 2015-9-15 22:35
这个还好了,记得老毕的视频多态讲的比较形象,多态调来调去调的还是子类,不过就是看作是父类而已,到了内 ...

嗯嗯。。。。。对的那个老师讲的很好。。。
回复 使用道具 举报
gss 中级黑马 2015-9-16 21:36:36
11#
丶洛夜 发表于 2015-9-15 22:20
学的真快,今天的继承我已经云里雾里了。。。

慢慢来。。加油。。多写。。
回复 使用道具 举报
_(:з」∠)_多态之前就已经阵亡了
回复 使用道具 举报
gss 中级黑马 2015-9-16 21:38:23
13#

额。。没有。。我只是提前看了一点。。。
回复 使用道具 举报
gss 中级黑马 2015-9-16 21:39:30
14#
丶洛夜 发表于 2015-9-15 22:20
学的真快,今天的继承我已经云里雾里了。。。

加油。。。
回复 使用道具 举报
果然是大神。
回复 使用道具 举报
gss 中级黑马 2015-9-16 22:00:48
16#
hhuxiaolang 发表于 2015-9-16 21:37
_(:з」∠)_多态之前就已经阵亡了

没事。。。在活过来就好了 加油!
回复 使用道具 举报
gss 中级黑马 2015-9-16 22:01:50
17#

请叫我学沫谢谢。。。
回复 使用道具 举报
呵呵,今天听了异常处理,看完后就将中间的忘了
回复 使用道具 举报
父类引用指向子类对象   其实我认为只要是看你设置的是什么返回值类型    想什么多态   什么向上向下的   就感觉乱
回复 使用道具 举报
这个看懂了,可是代码报的错,我看不懂了   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 秒) - 正常终止

点评

你这只是权限和静态方面的问题啊,照着改就是了  发表于 2015-9-17 09:22
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马