日期: 2022-09-21 05:12:23 浏览数:2

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
邹城设计网页公司

public class Derived extends Base {
public Derived() {
// super(); //系统会自动隐式先调用父类的无参构造函数 super(); //必须是第一行,否则不能编译
System.out.println("Derived--默认构造方法");
}
public Derived(int c) {
// super(); //系统会自动隐式先调用父类的无参构造函数 super(); //必须是第一行,否则不能编译
System.out.println("Derived--有参构造方法" + c);
}
public Derived(int a, int b) {
super(a); //如果子类构造方法第一行显式调用了父类构造方法,系统就不再调用无参的super()了。
System.out.println("Derived--有参构造方法--" + b);
}
public static void main(String[] args) {
System.out.println("============子类无参============");
Derived no = new Derived();
System.out.println("============子类有参============");
Derived have = new Derived(33);
System.out.println("============子类有参============");
Derived have2 = new Derived(33, 55);
}
}
运行结果如下:
============子类无参============
Base--默认构造方法
Derived--默认构造方法
============子类有参============
Base--默认构造方法
Derived--有参构造方法33
============子类有参============
Base--有参构造方法--33
Derived--有参构造方法--55
注意:如果父类没有无参构造函数,创建子类时,不能编译,除非在构造函数代码体中的第一行显式调用父类有参构造函数。
wyk123
wyk123
101***6246@qq.com
4年前 (2018-06-02)
芳小酱
fan***u.ling@foxmail.com
25
子类不能直接继承父类中的 private 属性和方法。
/**建立一个公共动物父类*/
public class Animal {
private String name;
private int id;
/*由于name和id都是私有的,所以子类不能直接继承,
需要通过有参构造函数进行继承*/
public Animal(String myname,int myid) {
name = myname;
id = myid;
}
public void eat() {
System.out.println(name+"正在吃");
}
public void sleep() {
System.out.println(name+"正在睡");
}
public void introduction() {
System.out.println("大家好!我是" +id+"号"+name +".");
}
}
子类 Penguin 需要通过关键字 super 进行声明
public class Penguin extends Animal {
public Penguin(String myname,int myid) {
super(myname,myid); // 声明继承父类中的两个属性
}
}
具体通过有参构造函数进行继承。
public class PenguinQQ {
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)
子类出现与父类一样的函数时,这个被称为 重写 也叫 覆盖
Object类是所有类的直接父类或间接父类,也就是说是所有类的根父类,这个可以运用于参数的传递
如下:
public class Start{ public static void main(String[] args) { A a=new A(); B b=new B(); C c=new C(); D d=new D(); speak(a); speak(b); speak(c); speak(d); }// instanceof 关键字是用于比较类与类是否相同,相同返回true,不同返回false//当你不清楚你需要的参数是什么类型的,可以用Object来代替,Object可以代替任何类 static void speak(Object obj) { if(obj instanceof A)//意思是:如果参数是 A 类,那么就执行一下语句 { A aobj=(A)obj;//这里是向下转换,需要强制转换 aobj.axx(); } else if(obj instanceof B) { B bobj=(B)obj; bobj.bxx(); } else if(obj instanceof C) { C cobj=(C)obj; cobj.cxx(); } }}//这里举了四个类,他们的函数都不同,但都是 Object 类的子类class A{ void axx() { System.out.println("Good morning!"); System.out.println("This is A"); }}class B{ void bxx() { System.out.println("Holle!"); System.out.println("This is B"); }}class C{ void cxx() { System.out.println("Look!"); System.out.println("This is C"); }}class D{ void dxx() { System.out.println("Oh!Bad!"); System.out.println("This is D"); }}运行结果:
WaterHole
710***626@qq.com
wyk123
101***6246@qq.com
实例:
class Base { public Base() { System.out.println("Base--默认构造方法"); } public Base(int c){ System.out.println("Base--有参构造方法--" + c); }}public class Derived extends Base { public Derived() { // super(); //系统会自动隐式先调用父类的无参构造函数 super(); //必须是第一行,否则不能编译 System.out.println("Derived--默认构造方法"); } public Derived(int c) {子类的所有构造方法内部, 第一行会(隐式)自动先调用父类的无参构造函数super();
如果子类构造方法第一行显式调用了父类构造方法,系统就不再调用无参的super()了。