子类与父类

继承,即代码的重复使用。

子类定义是建立在父类的基础上。

子类可以继承父类的属性与方法;

也可以扩展父类新的属性与方法。

package com.zhongguo.javase.D14;

public class Dam20jubu {
int x;
int y;
public Dam20jubu(){

}
void Dam(int a,int b){
this.x=a;
this.y=b;
}

class zilei extends Dam20jubu{
zilei(){
super();
}
}
void aaa(int c){
c=c*y;
System.out.println("圆的面积"+c+"平方米");
}
public static void main(String arge[]){

Dam20jubu h=new Dam20jubu();
h.Dam(40,1);
h.aaa(50);

}
}

时间: 2024-07-30 10:19:50

子类与父类的相关文章

关于继承时子类重写父类方法和覆盖父类变量的若干问题

假设,子类重载父类的方法,并将子类的成员覆盖. 创建子类对象实例,将其上转型成父类. 例子1 public class Parent { public void init() { System.out.println("1 init parent"); this.demo(); } public void demo() { System.out.println("2 demo parent"); } } public class Son extends Parent

java中子类继承父类程序执行顺序问题

Java中,new一个类的对象,类里面的静态代码块.非静态代码.无参构造方法.有参构造方法.类的一般方法等部分,它们的执行顺序相对来说比较简单,用程序也很容易验证.比如新建一个测试父类. public class FatherTest { private String name; FatherTest(){ System.out.println("--父类的无参构造函数--"); } FatherTest(String name){ this.name=name; System.out

C++子类调用父类构造函数

构造方法用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方法,但不继承父类的构造方法).因此,在创建子类对象时,为了初始化从父类继承来的数据成员,系统需要调用其父类的构造方法. 如果没有显式的构造函数,编译器会给一个默认的构造函数,并且该默认的构造函数仅仅在没有显式地声明构造函数情况下创建. 构造原则如下: 1. 如果子类没有定义构造方法,则调用父类的无参数的构造方法. 2. 如果子类定义了构造方法,不论是无参数还是带参数,在创建子类的对象的时候,

Java中子类和父类的构造函数?

这篇文章总结了关于Java构造的常见??问题. 1)为什么创建一个子类对象要也需要调用父类的构造函数? class Super { String s; public Super(){ System.out.println("Super"); } } public class Sub extends Super { public Sub(){ System.out.println("Sub"); } public static void main(String[] a

Java子类访问父类的私有成员变量

/**子类会继承父类所有的属性和方法. * 但是根据不同的权限标识符,子类不可见父类的私有变量,但可以通过父类的公共方法访问私有变量 * 所以对于重名变量,子类和父类都各有一份. * 对于子类和父类中重名的方法,则为重写.即子类重写了父类的方法,用于多态. * 同一个类中函数的签名不同,则为方法的重载.函数的签名为函数名+参数列表,与返回值无关. */

java 子类重写父类的方法应注意的问题

若想实现一个合格重写方法,而不是重载,那么必须同时满足下面的要求! A.重写规则之一:    重写方法不能比被重写方法限制有更严格的访问级别.(但是可以更广泛,比如父类方法是包访问权限,子类的重写方法是public访问权限.) 比如:Object类有个toString()方法,开始重写这个方法的时候我们总容易忘记public修饰符,编译器当然不会放过任何教训我们 的机会.出错的原因就是:没有加任何访问修饰符的方法具有包访问权限,包访问权限比public当然要严格了,所以编译器会报错的. 反正子类

[转]Java中子类调用父类构造方法的问题分析

在Java中,子类的构造过程中,必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来,通过什么手段做到的? 答案如下:    当你new一个子类对象的时候,必须首先要new一个父类的对像出来,这个父类对象位于子类对象的内部,所以说,子类对象比父类对象大,子类对象里面包含了一个父类的对象,这是内存中真实的情况.构造方法是new一个对象的时候,必须要调的方法,这是规定,要new父类对象出来,那么肯定要调用其构造方法,所以: 第一个规则:子类的构造过程中,必须调用其父类的构造方

java子类与父类的关系

摘自翁恺老师的mooc 对理解继承来说,最重要的事情是,知道哪些东西被继承了,或者说,子类从父类那里得到了什么.答案是:所有的东西,所有的父类的成员,包括变量和方法,都成为了子类的成员,除了构造方法.构造方法是父类所独有的,因为它们的名字就是类的名字,所以父类的构造方法在子类中不存在.除此之外,子类继承得到了父类所有的成员. 但是得到不等于可以随便使用.每个成员有不同的访问属性,子类继承得到了父类所有的成员,但是不同的访问属性使得子类在使用这些成员时有所不同:有些父类的成员直接成为子类的对外的界

子类继承父类后想要扩展父类方法

1 >>> class PClass(object): 2 def setInfo(self,sex='Male'): 3 self.gender = sex 4 5 6 >>> class CClass(PClass): 7 def setInfo(self,who): 8 self.name = who 9 PClass.setInfo(self)#子类继承父类后想要扩展父类方法,若仍想保留父类方法可以通过回调 10 11 12 >>> x = C

关于子类继承父类的一个容易忽视的小细节

子类继承父类的时候对父类的属性有没有继承呢??(其实我自己刚学,一些细节的不是太清楚) 下面的代码会说明一个容易忽视的细节: 这是父类: public class FatherClass { int a = 10; public void fun(){ System.out.println("This is FatherClass funMothed!!"); }} 这是子类: public class Child extends FatherClass { int a = 20; p