参考链接: 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;

}

}

结果二

[转载] Java之继承相关推荐

  1. [ 转载 ] Java基础14--创建线程的两个方法

    http://www.cnblogs.com/whgw/archive/2011/10/03/2198506.html Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类 ...

  2. java面向对象--继承与多态

    1.1自定义包语法: package <包名> 注意:声明一个包的语句必须写在类中的第一行. 如:创建hero类,将该类存放到com.java.oriented.dato.figure包中 ...

  3. Java 面向对象-继承

    1.继承的概述 泛指把前人的作风.文化.知识.财产等接受过来 java中的继承 让类与类之间产生父子关系 被继承的类叫做父类(基类.超类) 继承的类叫做子类(派生类) 格式(extends) clas ...

  4. java string()函数_转载java String.split()函数的用法详解

    转载java String.split()函数的用法详解 如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!在java.lang包中有String.split()方法的原型是: p ...

  5. C++和Java中类继承同名函数的区分

    C++和Java的派生类对于与基类同名的函数有着不同的处理方式. 在C++中,假设基类中有一个dis()函数,而派生类又定义了一个dis()函数,这时候在派生类对象中会将基类的dis()函数屏蔽掉,上 ...

  6. java 封装 继承 堕胎_Java的继承、封装和多态

    一.继承 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为. 继承的特性 子类拥有父类非 private 的属性.方法. ...

  7. java 子类 复制_关于java子类继承来的属性与方法究竟是完全复制还是共用使用...

    关于java子类继承来的属性与方法究竟是完全复制还是共用使用 关于java子类继承来的属性与方法究竟是完全复制还是共用使用 今天在学习java的面向对象时,无意间发现一个问题. public clas ...

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

    参考链接: 对Java中派生类方法更严格的访问 JAVA面试题大全(part_1) 1.面向对象的特征有哪些方面 (1)抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目 ...

  9. [转载] java语言程序设计-基础篇

    参考链接: Java中的决策制定(if,if-else,switch,break,continue,jump) 第1章,计算机.程序和Java概述 包括[每个java初学者都应该搞懂的问题] http ...

最新文章

  1. 【复杂网络】用户画像不应脱离社会关系,谈复杂网络的关键技术和应用实践
  2. Python基础教程:数据结构
  3. 掌握了这个方法,以后遇到bug不用再求人了!
  4. nacos启动失败:org.springframework.boot.web.server.WebServerExceptio
  5. 存储过程里调用另一个存储过程的值
  6. oracle biee 11g客户端连接OCI 10g/11g数据源时报错
  7. 程序员又迎一利器,联想 LeapIOT 工业互联网平台大曝光
  8. 转载:诠释Flash的职业发展道路
  9. 文件服务器minio
  10. PMP第十一节:项目风险管理
  11. python中print打印输出
  12. 如何科学管理你的密码
  13. Django学习笔记
  14. java手机游戏吸血鬼_Java 吸血鬼数字
  15. Matplotlib:面积图、填图、饼图
  16. 第一次参加数学建模有感
  17. 4.电子计算机的分类,国际上对计算机进行分类的依据是什么
  18. 视频去水印软件哪个好用?
  19. 回合制小游戏(英文)
  20. Spring MVC工作流程图

热门文章

  1. 调试跟踪利器---strace
  2. c语言数组两个值交换,如可交换两个数组中的元素?
  3. 海南大学计算机原理,海南大学微机原理课件 第一章 计算机基础知识
  4. python语法学习_Python学习1——语法
  5. python扫雷 广度优先_广度优先搜索(BFS)解题总结
  6. linux svn可视化工具,CentOS6.5安装SVN 可视化管理工具iF.SVNAdmin
  7. 服务器ip直接访问php怎么写,php - 如何实现用公网ip访问到服务器上的网页?
  8. hashmap remove 没释放内存_java从零开始手写 redis(13)HashMap 源码原理详解
  9. python选择题题库百度文库_大学Python程序题题库
  10. Latex+Texstudio+Texlive 2020 windows10 安装教程