精华内容
下载资源
问答
  • 最近在做题的时候发现自己之前对继承的理解不对,子类能不能继承父类的私有属性和方法,随后在网卡查找,说法不一,看了一些文章,原来可以用断点来判断: 简单的父类例子 package com; /** * @Classname Father ...

    最近在做题的时候发现自己之前对继承的理解不对,子类能不能继承父类的私有属性和方法,随后在网卡查找,说法不一,看了一些文章,原来可以用断点来判断:

    简单的父类例子

    package com;
    
    /**
     * @Classname Father
     * @Description TODO
     * @Date 2020/8/12 5:36
     * @Created by SunZhiQiang
     */
    public class Father {
        // 私有静态变量
        private static int a = 1;
        // 私有成员变量
        private int b = 2;
        // 私有成员常量
        private final int C = 3;
        // 保护成员变量
        protected int d =4;
        // 公共静态变量
        public static int e = 5;
    
    
    
        public static int getA() {
            return a;
        }
    
        public static void setA(int a) {
            Father.a = a;
        }
    
        public int getB() {
            return b;
        }
    
        public void setB(int b) {
            this.b = b;
        }
    
        public int getC() {
            return C;
        }
    }
    
    

    子类继承上面的父类

    package com;
    
    /**
     * @Classname Son
     * @Description TODO
     * @Date 2020/8/12 5:38
     * @Created by SunZhiQiang
     */
    public class Son  extends Father {
    
    }
    
    

    在main方法中实例化子类

    package com;
    
    /**
     * Hello world!
     *
     */
    public class App 
    {
        public static void main( String[] args ) {
    
            Son s = new Son();
            int b = s.getB();
            System.out.println(b);
        }
    }
    
    

    在这里插入图片描述

    总结:

    1、说明子类能够继承父类的私有属性,只是因为权限问题无法访问
    2、静态成员无论公有还是私有的,都没有继承(我的理解是因为静态成员并不存放在对象对应的堆空间中,是在方法区,而继承是继承父类的对象的内容,所有也没有继承静态成员)

    如果理解有误,大家可以指出来,我会及时修改,免得误导别人

    展开全文
  • 子类父类那里继承过来的私有成员和方法是不能够被子类调用的,在网上查看发现,其实说父类的private成员是不能被继承子类的,这一说法是不正确的,意思是父类的private确实是继承给了子类,但是子类不能够

    我个人认为学习编程,从面向过程到面向对象的思想转变是个很重要的过程,然而对于类的深入了解是这思想的基础。

    今天便记录一下对子类关于从父类继承过来的private成员这点事儿

    直入主题

    子类从父类那里继承过来的私有成员和方法是不能够被子类调用的,在网上查看发现,其实说父类的private成员是不能被继承给子类的,这一说法是不正确的,意思是父类的private确实是继承给了子类,但是子类不能够随意调用

    上代码 没代码我说个XXclass Fathor
    {
    public void test01()
    {
    System.out.println("test01");
    }
    }
    class Son extends Fathor
    {
    void test02()
    {
    this.test01();
    }

    }
    class test
    {
    public static void main(String[] args)
    {
    Son son = new Son();
    son.test01();
    son.test02();
    }
    }

    这样做显然是不对的 不能直接调用父类的private成员

    子类确实继承了来自父类的private成员

    当子类被实例化的时候,那部分私有成分也被分配了地址空间,就如网友说的一样空间是有但是一片灰色地带

    不能够调用

    要想调用 这是就应该将其定义为protected类型 这个小孩子都知道 但是大多数书上并没有告诉你这些private父类遗传物到底是怎么回事 还有一种方法就是用子类中继承过来的父类公用方法来使用这个private成员,现在看来这样的设计也是很有道理的 因为这样做确实保护了父类的私有的东西 真正体现了面向对象中封闭性的思想,鄙人愚见,学识浅薄纯属个人理解还望各位大神批评指教!

    展开全文
  • A、 一个类可以继承多个父类B、 一个类可以具有多个子类C、 子类可以使用父类的所有方法D、 子类一定比父类有更多的成员方法36、下列选项中关于Java中super关键字的说法正确的是( )。A、 super关键字是在子类对象...

    JAVA试题及答案(50道选择题)

    35、在Java语言中,下列关于类的继承的描述,正确的是( )。

    A、 一个类可以继承多个父类

    B、 一个类可以具有多个子类

    C、 子类可以使用父类的所有方法

    D、 子类一定比父类有更多的成员方法

    36、下列选项中关于Java中super关键字的说法正确的是( )。

    A、 super关键字是在子类对象内部指代其父类对象的引用

    B、 super关键字不仅可以指代子类的直接父类,还可以指代父类的父类

    C、 子类通过super关键字只能调用父类的方法,而不能调用父类的属性

    D、 子类通过super关键字只能调用父类的属性,而不能调用父类的方法

    37、在Java接口中,下列选项中有效的方法声明是( )。(选择二项)

    A、 public void aMethod();

    B、 void aMethod();

    C、 protected void aMethod();

    D、 private void aMethod();

    38、在JAVA的异常处理模型中,能单独和finally语句一起使用的块是( )。

    A、 try

    B、 catch

    C、 throw

    D、 throws

    39、分析如下Java代码,编译运行后将输出( )。

    public class Test{

    public Test(){}

    static void print(ArrayList al){

    al.add(2);

    al=new ArrayList();

    al.add(3);

    al.add(4);

    }

    public static void main(String[]args){

    Test test=new Test();

    ArrayList al=new ArrayList();

    al.add(1);

    print(al);

    System.out.println(al.get(1));

    }

    }

    A、 1

    B、 2

    C、 3

    展开全文
  • 在父类中定义这些相同的属性和方法,所有的子类无需重新定义这些属性和方法,而只需通过extends语句来声明继承父类即可。 关于这个继承说法,大家已经很明白了。我想讲一下,在继承中的重写要注意的问题。 子类...

    继承,是复用程序代码的有力手段,当多个类之间存在相同的属性和方法时,可以从这些类当中抽象出父类。在父类中定义这些相同的属性和方法,所有的子类无需重新定义这些属性和方法,而只需通过extends语句来声明继承父类即可。  关于这个继承说法,大家已经很明白了。我想讲一下,在继承中的重写要注意的问题。


    子类方法 对父类方法的重写,需要注意一下几点,简单说为:两同,两小,一大

    同:方法名相同,形参列表相同;

    小:子类方法抛出的声明比父类方法小或相等,子类方法返回值比父类方法返回值类型更小或相等;

    大:子类方法的访问权限比父类方法大或相等


    要值得注意的是,子类方法返回值比父类方法返回值类型更小或相等,这句话说的是,返回值类型之间要有继承关系,才要去考虑类型的大小。

    展开全文
  • 关于父类子类的下列说法中,正确的是 A 一个子类可以有多个父类 B 一个父类可以有多个子类 C 一个父类只可以有一个子类 D 以上说法都不对 (3)单选题 关于继承的下列说法中,正确的是 A 一个类可以继承父类...
  • JAVA面试题(一)

    2019-08-25 21:04:58
    子类继承父类所有的数据域和方法。 B.子类继承父类的其可见的数据域和方法。 C.子类继承父类public方法和数据域 D.子类继承父类的方法,而不继承数据域 解释: 在一个子类被创建的时候,首先会在内...
  • 子类必须重载父类里的虚函数 子类必须重载父类里的纯虚函数 虚基类的构造函数在非虚基类之前调用(最终继承类构造函数中,成员初始化列表同时出现对虚基类和非虚基类构造函数的调用时,虚基类的构造函数先于非虚基类...
  • OO基础之继承

    千次阅读 2004-12-13 15:21:00
    关于这两种继承的说法也有很多,个人比较接受Bjarne Stroustrup的说法: 实现继承:是子类的一个... 接口继承:也叫subtyping,子类继承父类的接口,并且允许父类类型到子类类型的隐式转换。也就是说,父类和子类是一种
  • 【Java 5班第2次考试】

    千次阅读 2017-04-11 19:41:36
    A)子类继承父类所有的属性和方法 B)子类继承父类的非私有属性和方法 C)子类继承父类public方法和属性 D)子类继承父类的方法,而不继承属性   2、重写与重载的关系是( A ) A)重写只有发生在父类与...
  • c++继承与派生详解

    千次阅读 2013-08-12 09:19:04
    其实继承和派生就是同一种概念的不同说法罢了,通常我们说子类继承父类,父类派生出子类。说实话,学习和了解了C++的继承与派生后,发现我对面向对象中的继承与派生有了更深刻的理解。在更加深入了解C++关于继承方面...
  • C++之继承与派生(1)

    2014-12-01 10:58:48
    其实继承和派生就是同一种概念的不同说法罢了,通常我们说子类继承父类,父类派生出子类。说实话,学习和了解了C++的继承与派生后,发现我对面向对象中的继承与派生有了更深刻的理解。在更加深入了解C++关于继承方面...
  • C++之继承与派生(1)

    2014-08-28 10:44:13
    其实继承和派生就是同一种概念的不同说法罢了,通常我们说子类继承父类,父类派生出子类。说实话,学习和了解了C++的继承与派生后,发现我对面向对象中的继承与派生有了更深刻的理解。在更加深入了解C++关于继承方面...
  • C++之继承与派生(2)

    2013-12-11 10:28:33
    其实继承和派生就是同一种概念的不同说法罢了,通常我们说子类继承父类,父类派生出子类。说实话,学习和了解了C++的继承与派生后,发现我对面向对象中的继承与派生有了更深刻的理解。在更加深入了解C++关于继承方面...
  • 每日10道JAVA题(20180615)

    千次阅读 2018-06-15 15:38:21
    子类继承父类所有的数据域和方法。B.子类继承父类的其可见的数据域和方法。C.子类继承父类public方法和数据域D.子类继承父类的方法,而不继承数据域2.关于抽象类的叙述正确的是?( )A.抽象类不可以实例化B....
  • 继承的理解

    2016-08-12 10:48:00
    0. 体会关于继承说法 继承子类来源于父类子类扩展了父类继承意味着拓展,基类则代表基本功能(fundamental building blocks); 基类也可表示前人的工作(N),继承是对其的延伸和拓展(N+1,N+m) ...
  • 在面向对象中,类与类之间是有继承关系的,但是在关系数据库中,表与表之间没有任何关键字可以明确指明这两张表的父子关系,表与表是没有继承关系这样的说法的。为了将程序领域中的继承关系反映到数据 中,Hibernate...
  •  A、子类无条件的继承父类的无参构造方法,  B、子类可以引用父类中的有参构造方法,使用super关键字,  C、如果子类没有构造方法,则父类无参构造方法作为自已的构造方法,  D、如果子类有无参构造方法,而...
  • 1,关于继承说法 本质上不能说是继承,只能说是扩展,它是用于扩展类的功能的。但由于翻译的原因,导致翻译成继承子类一般以父类为基础,额外增加新的成员变量和方法。 此外,Java只能有一个父类说法是错误的...
  • 另一种,在基础封装里面,父类私有化的成员变量,子类new 出子类的对象通过set 方法赋值,继承里讲,子类无法继承父类私有成员,那么请问按照这种说法,这里,set 方法里的this又是怎样把值给父类私有变量的?...
  • JAVA复习习题(继承).pdf

    2020-01-13 17:35:04
    以下关于 Java 语言继承说法正确的是 ( C ) A)Java 中的类可以有多个直接父类 B) 抽象类不能有子类 C)Java 中的接口支持多继承 D) 最终类可以作为其它类的父类 3. 现有两个类 A B 以下描述中表示 B 继承自 A
  • 创建子类的语法看起来与普通(新式)类没有区别,一个类名,后跟一个或多个需要从其中派生的父类:class SubClassName (ParentClass1[, ParentClass2, ...]):'optional class documentation string'class_sui...
  • JAVA复习习题(继承).doc

    2020-05-05 17:30:56
    以下关于Java语言继承说法正确的是( C ) A)Java中的类可以有多个直接父类 B)抽象类不能有子类 C)Java中的接口支持多继承 D)最终类可以作为其它类的父类 3. 现有两个类AB以下描述中表示B继承自A的是(D) A)
  • 写在前面,JavaScirpt 是...真正的继承子类复制父类的操作。实践中理解一般开发中很少去关注原型链(开发框架除外),面试问的比较多点一个面试题开始如果是已经理解了原型和原型链的一眼就可以看出来结果原型链关...
  • java板块关于private变量到底会不会被继承,一直都有争议。  传送门 另一种说法是非继承关系,但是不能够解释为什么。 分析内存的分配后发现:  当一个子类被实例化的时候,默认会先调用父类的构造方法对...
  • 以下选项中关于各种面向对象设计原则的说法正确的是(ABCD )。 A 组合/聚合复用原则的核心思想是:优先使用组合,其次才考虑继承  B 依赖注入原则的核心思想是要依赖于抽象,而不是依赖于具体实现  C...

空空如也

空空如也

1 2 3
收藏数 58
精华内容 23
关键字:

关于子类继承父类说法