博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
继承,转型
阅读量:7065 次
发布时间:2019-06-28

本文共 2602 字,大约阅读时间需要 8 分钟。

 

 

Father类

package juxing;public class Father {            private String name;        private int age;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }         //默认构造方法//    public Father()//    {//        System.out.println("父类的构造方法");//    }    public Father(String name)    {        System.out.println("父类的有参构造方法");                this.name=name;    }            public void work()    {        System.out.println("我劳动我光荣");    }    }
View Code

 

 

 

Son类

package juxing;public class Son extends Father {//一个子类智能继承一个父类。单继承        //子类可以扩展父类,自动具有父类的成员    public Son()    {        //不能在前边加代码,必须先有父类。        super("儿子");        System.out.println("子类的构造方法");    }    public void sing()    {        System.out.println("爱唱歌");    }            //子类覆盖,重写。名字一样,参数一致。否则只是扩展    public void work()    {        //不全覆盖,调用父类的work        //super.work();        //System.out.println("我不想去上班,我要参加海选");        System.out.println("边上班边唱歌");    }    public static Object getDate(int i)//Object,所有类的父类,都向上转    {        Object rtn=null;        //获取数据        if(i==1)        {            //1,father            Father f=new Father("向上转型的父类");            //向上转            rtn=f;        }        else        {            //2,Son            Son s=new Son();            rtn=s;        }        return  rtn;            }}
View Code

 

 

Testjicheng类

package juxing;public class TestJiCheng {    public static void main(String[] args)     {        Father f=new Father("父亲");        //f.setName("父亲");                f.setAge(50);        f.work();        System.out.println();                        Son s=new Son();                //s.setName("儿子");                s.setAge(20);                System.out.println("儿子"+s.getAge()+"岁");        System.out.println();        s.work();                s.sing();                System.out.println();        System.out.println();        //转型        //向上转型,子类到父类                Father f1=new Son();        System.out.println("名字"+s.getName());        f1.work();//调用子类的work                System.out.println();        System.out.println("向下转型,父类转子类");        //向下转型,父类转子类        //Son s1=(Son) new Father("父亲");子类有的父类不一定有                Son s1=(Son)f1;                s1.work();        System.out.println();                //调用,        System.out.println("类型不确定,用Object,先向上全部转成父类,再向下转型。");        Father f2=(Father)Son.getDate(2);        f2.work();            }}
View Code

 

转载于:https://www.cnblogs.com/1ming/p/5253789.html

你可能感兴趣的文章
一键部署Openstack R版
查看>>
《JAVA——帮你解决高并发秒杀》
查看>>
国家级期刊发表要求注意事项
查看>>
C文件操作
查看>>
观察转小写的操作-字符函数
查看>>
Oracle查询访问同一表的两个以上索引(二)
查看>>
office 2016 下载地址
查看>>
Go语言之调试
查看>>
Go语言之 unsafe 包之内存布局
查看>>
Spring Cloud Config 入门
查看>>
rhce第二天笔记
查看>>
oneproxy中间件架构及注意事项
查看>>
phpweb解析不当加上传漏洞
查看>>
CentOS自动挂载NTFS分区的U盘或者移动硬盘
查看>>
2018-2019-1 20165226 20165310 20165315 实验二 固件程序设计
查看>>
安装windows后grub的恢复
查看>>
android学习总结(20120721)
查看>>
安装rrdtool时候的报错configure: error: Please fix the library issues listed above and try again....
查看>>
创建一个10G可用空间的RAID5
查看>>
snmp安装
查看>>