Tag: inheritance

覆盖超类的实例变量

为什么我们不能覆盖子类中超类的实例变量?

inheritance中的私有方法

这是一个有趣的代码片段: public class Superclass { public static void main (String[] args){ Superclass obj = new Subclass(); obj.doSomething(); #prints “from Superclass” } private void doSomething(){System.out.println(“from Superclass”);} } class Subclass extends Superclass { private void doSomething(){System.out.println(“from Subclass”);} } 我知道子类不会inheritance其父级的私有成员,但是obj设法调用它应该没有访问权限的方法。 在编译时,obj的类型为Superclass,在运行时类型为Subclass。 这可能与doSomething()的调用发生在驱动程序类中的事实有关,该驱动程序类恰好是它自己的类(以及为什么可以首先调用doSomething())。 所以问题归结为,obj如何访问其父级的私有成员?

Java中的inheritance – 创建子类的对象也会调用超类的构造函数。 为什么呢?

我有一个关于Javainheritance的问题。 我有两个A和B类, B类inheritance自A: public class A { public A() { System.out.println(“Hi!”); } } public class B extends A { public B() { System.out.println(“Bye!”); } public static void main(String[] args) { B b = new B(); } } 当我运行程序B时,输出是: Hi! Bye! 问题 :为什么在创建class B对象时调用class A的构造函数 ? 我知道Binheritance了A中的所有实例或类变量以及所有方法,在这个意义上,B的对象具有A的所有特征以及B中定义的一些其他特征。但是,我不知道并且没有’我想象当我创建一个B类型的对象时,也会调用A的构造函数。 所以写下这个: B b = new B(); 创建两个对象 – 一个是B类,另一个是A类 […]

为什么不扩展JFrame和其他组件?

我已经看到过这里出现过几次,但在我看过的post中,没有人解释过。 为什么我不应该扩展JFrame(或任何组件)? 是否存在我应该扩展组件的条件,或者这是一个你不应该遵守的坚定规则?

扩展JFrame与在程序中创建它

在使用Swing创建应用程序时,我看到人们会做两件事之一来创建JFrame。 哪种方法更好,为什么? 我是Java和编程的初学者。 我唯一的学习来源是书籍,YouTube和Stack Overflow。 import {imports}; public class GuiApp1 { public static void main(String[] args) { new GuiApp1(); } public GuiApp1() { JFrame guiFrame = new JFrame(); guiFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); guiFrame.setTitle(“Example GUI”); guiFrame.setSize(300,250); ……………. } 和 import {imports}; public class GuiApp1 extends JFrame { public Execute() { getContentPane().setBackground(Color.WHITE); getContentPane().setLayout(null); setSize(800, 600); …………. } public static void […]