请选择 进入手机版 | 继续访问电脑版
本站特色:极好的技术研究氛围!所有技术交流,必有回复!

疯狂Java联盟

 找回密码
 加入联盟
查看: 141|回复: 0

[吹水] 子类没有main方法,为什么可以从子类A1运行程序

[复制链接]
发表于 2019-4-27 09:54:31 | 显示全部楼层 |阅读模式
public class A1 extends Apple<Integer>
{
        // 正确重写了父类的方法,返回值
        // 与父类Apple<String>的返回值完全相同
        public Integer getInfo()
        {
                return super.getInfo();
        }
        /*
        // 下面方法是错误的,重写父类方法时返回值类型不一致
        public Object getInfo()
        {
                return "子类";
        }
        */
}


// 定义Apple类时使用了泛型声明
public class Apple<T>
{
        // 使用T类型定义实例变量
        private T info;
        public Apple(){}
        // 下面方法中使用T类型来定义构造器
        public Apple(T info)
        {
                this.info = info;
        }
        public void setInfo(T info)
        {
                this.info = info;
        }
        public T getInfo()
        {
                return this.info;
        }
        public static void main(String[] args)
        {
                // 由于传给T形参的是String,所以构造器参数只能是String
                Apple<String> a1 = new Apple<>("苹果");
                System.out.println(a1.getInfo());
                // 由于传给T形参的是Double,所以构造器参数只能是Double或double
                Apple<Double> a2 = new Apple<>(5.67);
                System.out.println(a2.getInfo());
        }
}
您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

视频、代码、电子书下载
请关注"疯狂图书"公众号
QQ交流1群: 545923995  未满
微信群请扫二维码
QQ交流1群:
545923995
(未满)

小黑屋|手机版|Archiver|疯狂Java联盟 ( 粤ICP备11094030号 )

GMT+8, 2019-5-26 20:11 , Processed in 0.295177 second(s), 6 queries , File On.

快速回复 返回顶部 返回列表