[转载] Java之继承

参考链接: Java多重继承

Java之继承 

继承是面向对象程序的一个基本特征,通过继承可以实现父子关系,以及代码的复用。通过继承实现的类称为子类,被继承的类称为父类,所有直接或间接被继承的类都称为父类。 

Java类体系中的根类是java.lang.Object,所有类都是Object的直接子类或间接子类。如果定义类时没有extends子句,则该类的父类默认为Object。Java中不支持类似C++中的多重继承特性,Java只支持单继承,每个Java类最多只能有一个父类。在类的声明中,通过extends关键字声明一个继承关系。 

 

示例1 

 

 动物类之狗,猫,鸟,鱼分别继承实现名字,年龄,动作的输出 

 

代码块 

package com.Hwadee;

/**

 *继承

 */

 

public class Test {

 

    public static void main(String[] args) {

        Dog d=new Dog("狗",2);     //创建对象

        d.eat();

        Cat c=new Cat("猫",1);

        c.eat();

        Bird b=new Bird("鸟",3);

        b.eat();

        Fish f=new Fish("鱼",6);

        f.eat();

    }

 

}

class Animal{

    String name;

    int age;

    public Animal() {             //默认构造函数

    }

    public Animal(String name, int age) {

        this.name = name;

        this.age = age;

    }

    public void eat(){

        System.out.println("吃东西");

    }

 

}

class Dog extends Animal{        //Dog类继承Animal父类

    public Dog(){

    }

    public Dog(String name,int age){

        this.name=name;

        this.age=age;

        System.out.println("名字:"+name+"\t"+"年龄:"+age);

    }

    @Override     //方法重写

    public void eat(){

        System.out.println("吃骨头");

    }

}

class Cat extends Animal{

 

    public Cat() {

        super();

    }

 

    public Cat(String name, int age) {

        super(name, age);

        System.out.println("名字:"+name+"\t"+"年龄:"+age);

    }

    @Override

    public void eat(){

        System.out.println("吃鱼");

    }

}

class Bird extends Animal{

 

    public Bird() {

        super();

    }

 

    public Bird(String name, int age) {

        super(name, age);

        System.out.println("名字:"+name+"\t"+"年龄:"+age);

    }

    @Override

    public void eat(){

        System.out.println("吃虫子");

    }

}

class Fish extends Animal{

 

    public Fish() {

        super();

    }

 

    public Fish(String name, int age) {

        super(name, age);

        System.out.println("名字:"+name+"\t"+"年龄:"+age);

    }

    @Override

    public void eat(){

        System.out.println("吃虾米");

    }

}

 

结果1 

  · 

示例2 

 

 各类调用自己的私有成员 

 

package com.Hwadee;

/**

 *继承例二

 *各类调用自己的私有成员

 */

public class Extend {

 

    public static void main(String[] args) {

        Car c=new Car();

        Truck t=new Truck();

        c.setName("擎天柱");

        c.setNum(123432);

        String name = c.getName();

        int num = c.getNum();

        System.out.println("名字:"+name+"\n"+"号码:"+num);

        t.setCapacity(1000);

        int capacity = t.getCapacity();

        System.out.println("容量:"+capacity);

    }

 

}

class Car{

    private int num;

    private String name;

    public Car() {

    }

    public Car(int num, String name) {

        this.num = num;

        this.name = name;

    }

    public int getNum() {

        return num;

    }

    public void setNum(int num) {

        this.num = num;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

 

}

class Truck extends Car{

    private int capacity;

 

    public int getCapacity() {

        return capacity;

    }

 

    public void setCapacity(int capacity) {

        this.capacity = capacity;

    }

 

}

 

结果二

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/540287.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spark(二): 内存管理

2019独角兽企业重金招聘Python工程师标准>>> Spark 作为一个以擅长内存计算为优势的计算引擎,内存管理方案是其非常重要的模块; Spark的内存可以大体归为两类:execution和storage,前者包括shuffles、joins、sorts和agg…

[转载] 手把手教你整合最优雅SSM框架:SpringMVC + Spring + MyBatis

参考链接: Java继承类的对象创建 本文发表于2016年6月,写于作者学生时期。文中使用到的技术和框架可能不是当下最佳实践,甚至很不“优雅”。但对于刚接触JavaEE和Spring的同学来说,还是能有很多收获的,大牛轻拍 我们…

多播、组播、广播优缺点分析

2019独角兽企业重金招聘Python工程师标准>>> 单播、多播和广播单播”(Unicast)、“多播”(Multicast)和“广播”(Broadcast)这三个术语都是用来描述网络节点之间通讯方式的术语。那么这些术语究…

[转载] Java重载、覆盖与构造函数

参考链接: Java中的继承和构造函数 /** * 拷贝构造函数---Copyf t2 new Copyf(t1);就不会在调用默认构造函数了。 * 复制clone和引用 * 重载是在同一个类(范围)中,覆盖是子类对父类而言。 重载不关心返回值类型。 静态方法不能被…

LOFTERD18B542F16FF685FD684F427B4…

2019独角兽企业重金招聘Python工程师标准>>> 验证 转载于:https://my.oschina.net/jinhengyu/blog/1572124

[转载] Java获取一个类继承的父类或者实现的接口的泛型参数

参考链接&#xff1a; Java中的接口和继承 泛型的作用就不多介绍了&#xff0c;如果你想具备架构设计能力&#xff0c;那么熟练使用泛型是必不可少的。 不多说了&#xff0c;先定义泛型父类和泛型接口&#xff1a; package cn.zhh; public class Parent<T1, T2> { …

PHP系列(一)PHP流程控制结构

while(){} do{ }while(); for( 表达式1; 表达式2;表达式3 ){ 语句或语句序列; } if(){} if(){ }elseif{} <?php $i0; while(true) { if($i>100) break; echo ".$i.<br>"; $i; } ?> <?php echo "<table border1800>"; echo &quo…

[转载] Scala继承与Java的区别

参考链接&#xff1a; Java中将final与继承一起使用 在之前的笔记Java静态属性和方法的继承问题中&#xff0c;通过具体的实验证明&#xff0c;在子类中重写父类的字段时并没有覆盖父类的字段&#xff0c;只是隐藏了父类的字段。而在scala中则不同&#xff0c;scala子类的同名…

Source Map调试压缩后代码

在前端开发过程中&#xff0c;无论是样式还是脚本&#xff0c;运行时的文件可能是压缩后的&#xff0c;那这个时候调试起来就很麻烦。 这个时候&#xff0c;可以使用Source Map文件来优化调试&#xff0c;Source Map是一个信息文件&#xff0c;里面储存着原代码位置信息&#x…

[转载] Python3十大经典错误及解决办法

参考链接&#xff1a; Python中的关键字2 ◆ ◆ ◆ ◆ ◆ 接触了很多Python爱好者&#xff0c;有初学者&#xff0c;亦有转行人。不论大家学习Python的目的是什么&#xff0c;总之&#xff0c;学习Python前期写出来的代码不报错就是极好的。下面&#xff0c;严小样儿为大家罗…

两台电脑间大量数据拷贝的快捷方法

可能大家会遇到需要将一台电脑里的数据拷贝到另外一台电脑&#xff0c;最常用的方法是用u盘或移动硬盘等存储设备来拷贝&#xff0c;这样速度慢&#xff0c;而且可能拷贝多次才能将数据拷贝完。现提供一种方法&#xff0c;就是通过windows 的文件共享来实现。通过千兆网线直接连…

[转载] 使用 Web 标准生成 ASP.NET 2.0 Web 站点

参考链接&#xff1a; 使用super访问Java祖父母的成员 Stephen WaltherSuperExpert.com 适用于&#xff1a; Microsoft ASP.NET 2.0 (Beta 2) Microsoft Visual Studio .NET 2005 Microsoft Visual Web Developer 摘要&#xff1a; Microsoft ASP.NET 2.0 具有很多有用的功能…

Office快捷键大全之三(Access快捷键下篇)

向下键 向某帮助主题的末尾滚动 Page Up 以较大增量向某帮助主题的开头滚动 Page Down 以较大增量向某帮助主题的末尾滚动 Home 移到某帮助主题的开头 End 移到某帮助主题的末尾 CtrlP 打印当前帮助主题 CtrlA 选定整个帮助主题 CtrlC 将选定项复制到"剪贴…

[转载] 如何在Android设备之间共享Google Play应用,音乐等

参考链接&#xff1a; 使用super访问Java祖父母的成员 We recently showed you how to configure your iOS devices for app and media sharing; more than a few people wrote in asking how to do the same thing with Google Play purchases. Read on as we dig into how t…

linux 高性能读书笔记之通用socket地址

####socket网络编程接口 socket的地址是结构体sockaddr 代码如下 struct sockaddr{ sa_family_t sa_family; char sa_data[14]; } sa_family 成员是地址族类型&#xff08;sa_family_t)变量。地址族类型通常与协议族类型对应 1.二者对应表 协议族地址表描述PF_UNIXAF_UNIXUNIX本…

[转载] JAVA面向对象之代码块 继承 方法的重写 super关键字与重写toString()方法介绍

参考链接&#xff1a; 可以重写Java中的私有方法吗 JAVA面向对象之代码块与继承 代码块分类 局部代码块 作用:限制变量生命周期 书写位置:在方法中 构造代码块 开发中很少使用 书写位置:类中 方法外 调用时机:如果你有构造代码块 系统会帮你调用 帮你在创建对象…

struts2中s:select标签的使用

转自&#xff1a;https://www.cnblogs.com/Sara-shi/archive/2013/03/13/struts2_select.html 1 静态生成 <s:select name"user.sex" list"#{0:男,1:女}" label"性别" headerKey"" headerValue"请选择性别"></s:se…

[转载] JAVA面试题大全(part_1)

参考链接&#xff1a; 对Java中派生类方法更严格的访问 JAVA面试题大全(part_1) 1、面向对象的特征有哪些方面 (1)抽象&#xff1a; 抽象就是忽略一个主题中与当前目标无关的那些方面&#xff0c;以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题&#xf…

使用mysqladmin命令修改MySQL密码与忘记密码

修改密码&#xff1a; 1.例如你的 root用户现在没有密码&#xff0c;你希望的密码修改为123456&#xff0c;那么命令是&#xff1a; mysqladmin -u root password 123456 2.如果你的root现在有密码了&#xff08;123456&#xff09;&#xff0c;那么修改密码为abcdef的命令是&a…

[转载] java面试100问+参考答案

参考链接&#xff1a; 对Java中派生类方法更严格的访问 1、面向对象的特征有哪些方面 (1).抽象&#xff1a; 抽象就是忽略一个主题中与当前目标无关的那些方面&#xff0c;以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题&#xff0c;而只是选择其中的…