日期: 2022-09-21 03:19:52 浏览数:5

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

行结果如下:
黑色的Jack正在吃鱼Jack正在奔跑Jack正在睡觉
当子类出现与父类一样的函数时,这个被称为 重写 也叫 覆盖
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!");This is B
Look!
This is C
WaterHole
WaterHole
710***626@qq.com
5年前 (2018-01-06)
wyk123
101***6246@qq.com
49
子类的所有构造方法内部, 第一行会(隐式)自动先调用父类的无参构造函数super();
如果子类构造方法第一行显式调用了父类构造方法,系统就不再调用无参的super()了。
实例:
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(); //必须是第一行,否则不能编译
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) {
高端!网站定制/设计/优化/二次开发/制作/搭建-河池高端网站建设
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)