精华内容
下载资源
问答
  • 1.首先,我们都知道子类继承父类会继承父类的非private属性和方法。 2.接下来我有个疑问,父类继承了一个祖父类,子类再继承父类,子类继承祖父类吗? 先说答案,是的,子类也会继承祖父类 //祖父类 public class ...

    1.首先,我们都知道子类继承父类会继承父类的public 和 protected属性和方法。

    2.接下来我有个疑问,父类继承了一个祖父类,子类再继承父类,子类继承祖父类吗?
    先说答案,是的,子类也会继承祖父类

    //祖父类
    public class grandFather {
    }
    
    //父类继承祖父类
    public class father extends grandFather{	
    }
    
    //现在子类继承父类
    public class child extends father{
    
    	public static void main(String[] args) {
    		
    		//采用instanceof关键字判断child的类型
    		child c = new child();
    		boolean is = c instanceof grandFather;
    		System.out.println("child 是不是 grandFather 类型:"+is);
    		
    	}
    }
    
    

    在这里插入图片描述
    3.既然类的继承可以传递下来,那接口的实现可以传递下来吗?
    先说结果,可以,子类自动实现父类实现的接口,可以不用显式的写出implements,系统也会承认

    //现在有个接口
    public interface testInterface {
    }
    
    //父类继承了这个接口
    public class father implements testInterface{
    }
    
    //子类继承父类
    public class child extends father{
    	public static void main(String[] args) {
    		
    		//采用instanceof关键字判断child的类型
    		child c = new child();
    		boolean is = c instanceof testInterface;
    		System.out.println("child 是不是 testInterface 类型:"+is);
    	}
    }
    

    在这里插入图片描述
    这里如果还不确定,我再举个例子:

    //创建线程有个方法,就是
    //把实现了Runnable接口的一个类的对象作为靶子
    //创建线程
    java.lang.Thread.Thread(Runnable target);
    //这里面的参数必须是一个实现了Runnable接口的类的对象
    
    //现在有java自带的一个线程接口Runnable
    public interface Runnable(){
    }
    
    //父类实现Runnable接口
    public class father implements Runnable{
    //实现这个接口要实现run方法,不用写什么,空着就行
    	@Override
    	public void run(){
    		
    	}
    }
    
    //子类继承父类
    public class child extends father{
    	public static void main(String[] args) {
    		//我们来利用child对象和father对象创建线程看看
    		child c = new child();
    		father f = new father();
    		new Thread(c);
    		new Thread(f);
    		
    	}
    }
    
    

    在这里插入图片描述
    唉,是没有报错的,说明child也实现了Runnable接口——虽然没有显式implements出来

    这是我另一个关于接口的文章接口继承小记

    展开全文
  • 子类继承父类,父类中的构造器

    千次阅读 2016-11-03 12:06:58
    子类继承父类时,父类中必需有无参构造器,子类才可以继承父类? 可是父类中只有有参构造器时,就不能实现子类继承父类了吗?

    有的人认为,父类中必需有无参构造器时,子类才可以继承父类。

    可是父类中只有有参构造器时,就不能实现子类继承父类了吗?


    需要注意的是:

    • 类(对象)中没有构造器时,是默认会自动创建一个无参构造器的;
    • 当类(对象)中只有有参构造器时,就不会再自动创建一个无参构造器了;
    • 当子类的构造器中没有实现super()方法时,默认在调用子类构造方法之间先调用父类的无参构造方法。


    我们可以得出一个结论是:

            子类构造器会默认调用super()(无论构造器中是否写有super()),用于初始化父类成员,同时当父类中存在有参构造器时,必须提供无参构造器,子类构造器中并不会自动继承有参构造器,仍然默认调用super(),使用无参构造器。


    下面考虑两种情况:

    (一)父类中同时包含无参构造器和有参构造器时

    package struct;
    
    class parent{
    	public parent(int a) {
    		System.out.println("我是父类有参构造方法"+a);
    		// TODO Auto-generated constructor stub
    	}
    	
    	public parent() {
    		// TODO Auto-generated constructor stub
    		System.out.println("我是父类无参构造方法");
    	}
    	
    	public void read(){
    		System.out.println("我是父类的方法");
    	}
    }
    
    public class Test extends parent{
    	public Test() {
    		System.out.println("我是子类的构造方法");
    		super.read();
    	}
    	public static void main(String[] args) {
    		Test t = new Test();
    	}
    }
    
    • 当子类的构造器中没有实现super()方法时,默认在调用子类构造方法之间先调用父类的无参构造方法,输出的结果为:

    我是父类无参构造方法
    我是子类的构造方法
    我是父类的方法

    • 也可以在子类构造器中使用super(int a)来调用父类的有参构造方法,即将子类的构造器改为:

    public Test() {
    		super(5);
    		System.out.println("我是子类的构造方法");
    		super.read();
    	}

    输出为:

    我是父类有参构造方法5
    我是子类的构造方法
    我是父类的方法


    (二)父类中只有有参构造器时

    • 当父类中只有有参构造器时,默认在子类中需要使用super(父类构造器参数)才能调用父类的有参构造器,可以实现继承。

    package struct;
    
    class parent{
    	public parent(int a) {
    		System.out.println("我是父类构造方法"+a);
    		// TODO Auto-generated constructor stub
    	}
    	
    	public void read(){
    		System.out.println("我是父类的方法");
    	}
    }
    
    public class Test extends parent{
    	public Test() {
    		super(3);
    		System.out.println("我是子类的构造方法");
    		super.read();
    	}
    	public static void main(String[] args) {
    		Test t = new Test();
    	}
    }
    

    输出为:
    我是父类构造方法3
    我是子类的构造方法
    我是父类的方法


    展开全文
  • 使用Lombok子类继承父类,父类属性不生效 子类增加: @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) @Data @Entity @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) ...

    使用Lombok子类继承父类,父类属性不生效

    子类增加:

    @ToString(callSuper = true)
    @EqualsAndHashCode(callSuper = true)
    
    @Data
    @Entity
    @ToString(callSuper = true)
    @EqualsAndHashCode(callSuper = true)
    public class SysRights extends BaseEntity {
        @Id
        @GeneratedValue(generator = "uuid")
        @GenericGenerator(name = "uuid", strategy = "uuid2")
        private String rightsId;
        private String rightsName;
        private String rightsUrl;
        private String rightsIcon;
    }
    
    

    问题解决
    在这里插入图片描述

    展开全文
  • python 子类继承父类,父类的父类

    千次阅读 2019-07-16 12:49:41
    python 子类继承父类,父类的父类 #定义一个动物的类 class Animal: def eat(self): print('------吃------') def drink(self): print('------喝------') def sleep(self): print('------睡觉-...

    #每天一点点#

    python 子类继承父类,父类的父类

    点击可以查看,用重写功能的效果 python 重写

    #定义一个动物的类
    class Animal:
        def eat(self):
            print('------吃------')
        def drink(self):
            print('------喝------')
        def sleep(self):
            print('------睡觉------')
        def play(self):
            print('------玩耍------')   
            
    #定义一个狗的类
    class Dog(Animal): #继承Animal的方法
        def bark(self):
            print('------汪汪叫------')       
    
    #定义一个哮天犬的类
    class Xiaotq(Dog):
        def fly(self):
            print('------飞起------')
            
    xiaotq = Xiaotq()
    xiaotq.fly() 
    xiaotq.bark()    #继承父类
    xiaotq.sleep()     #继承父类的父类
    

    输出结果 ??????
    ------飞起------
    ------汪汪叫------
    ------睡觉------
    输出结果 ???????

    展开全文
  • 父类是泛型类之子类继承父类

    千次阅读 2018-03-07 21:00:15
    实现:父类是泛型类,子类继承父类, 这样在父类中就能得到泛型的对象了。是子类继承父类的时候,设置的泛型。 如果例如都在com包下 父类是:public class Person 子类是:public class Student extends...
  • 子类继承父类,在用new关键字创建子类对象时,父类比子类在堆中先创建,子类通过super关键字去继承父类的方法。子类通过拥有父类的地址通过set和get方法去修改和获取属性的值。 ...
  • 子类继承父类

    2015-09-23 16:00:04
    事实上子类可以继承父类的任何变量和方法。private、protected只是访问权限而已。即使i是public的 输出结果也肯定是1. 2.方法可以覆盖,成员变量并没有覆盖一说,也就是子类的i和父类的i是共存在子类体内的。...
  • 5.1子类继承父类

    2017-09-15 09:53:09
    (1)子类继承父类的所有属性和方法。 (2)虽说子类也拥有了父类的私有方法和私有域,但子类不能直接访问父类的私有方法和私有属性 (3)在实际构造子类对象时(程序的执行过程):一、先构造父类的对象;二、...
  • java 子类继承父类运行顺序

    千次阅读 2016-08-24 17:29:10
    java 子类继承父类运行顺序
  • 子类继承父类,并重写父类方法

    千次阅读 2019-04-29 16:59:54
    子类继承父类,并重写父类方法 2016年08月04日 00:04:07jinxueH专栏阅读数:17172 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/euxnijuoh/article/details/52108863 例子...
  • 子类继承父类实现父类的代理方法 父类提供虚函数(OC中称为代理方法),子类继承后实现虚函数来实现特定的功能. 父类方法: NumberCount.h 与NumberCount.m // // NumberCount.h // YXMWeather // // Created by ...
  • 子类继承父类的实例方法与静态方法测试 子类 结果 子类继承父类的实例方法同时也继承父类静态方法 在子类中测试: 1. 父类类名调用父类静态方法 正确 2.父类实例调用父类的静态方法 正确 3.子类...
  • 子类继承父类同名变量处理子类继承父类出现同名变量时,如下,B继承A,存在同名变量m1,需要使用基类A中的m1时,使用b.A::m1即可使用:#include using namespace std;class A { public: int m1; };class B:public A ...
  • 子类继承父类的加载顺序详解

    千次阅读 2019-01-09 21:34:35
    二:子类继承父类的加载顺序 一:单独类的加载顺序 静态变量、静态代码块(从上到下的顺序加载) 类的非静态变量,非静态块(从上到下的顺序加载) 构造函数 二:子类继承父类的加载顺序 父类静态变量、父类...
  • Java 子类继承父类静态属性后,两者是共享的 public class Father{ protected static String money; protected String getMoney(){ return money; } } public class Son extends Father{ public static ...
  • 简单说,如果子类继承父类自己写构造方法中没有显示调用父类有参构造方法,则会先隐式调用父类无参构造方法,若是先显示(super(300))调用了父类有参构造方法,则父类的无参构造方法就不会再被调用。 ...
  • 原文地址: 子类继承父类的变量和父类原有变量的关系http://blog.csdn.net/victory08/article/details/47625113子类继承父类的成员变量是同一个变量吗? https://bbs.csdn.net/topics/190043856博客一:做项目的...
  • 从书中看到子类继承父类,子类拥有父类所有的属性和方法,于是使用程序去验证,发现父类的私有属性和私有方法,子类是不能访问的,当然一些父类的私有属性可能可以通过相应的方法访问到,但是私有的方法似乎不能简单...
  • 1.1 请问子类继承父类用什么关键字? extends 1.2 请问子类继承父类的好处是什么? 提高代码复用性(减少代码冗余,相同代码重复利用) 使类与类之间产生关系 1.3 请问父类的哪些成员不能被继承,或者不能被访问...
  • 子类继承父类的哪些成员

    千次阅读 2019-02-28 22:01:55
    子类继承自父类后,子类可以拥有父类的某一些状态和行为,即子类复用了父类的某些功能和状态。可以通过访问修饰符判断子类继承了父类的...3、若父类和子类在同一个包中,此时子类可以继承父类中缺省修饰的成员。 ...
  • !... 我现在有这几个类,A B1 B2是接口,A是B1 B2的父类,B1 B2是C1 C2父类, 现在我用A a = new C1(); (a as C1).... 可以调用子类方法。如果父类不转为子类,还有什么方法父类可以访问到子类的方法。
  • 子类继承父类的虚函数调用

    万次阅读 多人点赞 2016-04-17 15:00:11
    子类继承父类中,虚函数再构造函数中和不再构造函数中的调用
  • java子类继承父类、方法的重写(覆盖)   在程序中,如果想声明一个类继承另一个类,需要使用extends关键字。 格式: class 子类 extends 父类 {} public class Text { public static void main (String[]...
  • 子类继承父类:可以继承父类的私有属性和方法,但是不能使用父类的私有属性和方法。解释:书本中是子类继承父类,子类拥有父类的所有属性和方法, 通过程序验证发现父类的私有属性和私有方法子类不能访问。 于是你...
  • C++子类继承父类后子类的大小

    千次阅读 2013-09-11 09:54:25
    C++子类继承父类后子类的大小 #include  using namespace std; class A  { private:  int a; }; class B:public A { private:  int b; }; int main() {  cout  cout  return 0; }   刚开始我一...
  • C++ 子类继承父类 之 构造函数

    千次阅读 2012-05-10 01:38:07
    C++ 子类继承父类 之 构造函数 前面常写点java的代码,对于C++基本的一些概念很模糊了,就当写个小笔记 之后遇到问题肯定还要补充。 主要内容: a. 子类继承父类写法 b. 子类继承父类的构造函数   创建...
  • 用学生的输出为例子,子类继承父类,然后在子类中新定义一个属性并可以给父类属性赋值,以及重写tostring和重写equals方法。 demo测试 package Student; public class demo { public static void main(String[] ...
  • 子类继承父类关于super关键词的问题 super ( ) 和super eat ( )的区别 是不是super( )只是复写了父类的构造方法 super eat ( )只是复写了父类的eat方法 那么super.eat( )这种写法是错误的么 我记得有super.╳...
  • 为了搞清当一个子类继承父类并调用了子类的某个方法时,在父类和子类中各个代码块的执行顺序 我们自己创建一个父类Parent和一个子类Child,代码如下: 父类代码: 1 package ParentAndChild; 2 3 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,928
精华内容 21,571
关键字:

子类继承父类