[转载] 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;
}
}
结果二
[转载] Java之继承相关推荐
- [ 转载 ] Java基础14--创建线程的两个方法
http://www.cnblogs.com/whgw/archive/2011/10/03/2198506.html Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类 ...
- java面向对象--继承与多态
1.1自定义包语法: package <包名> 注意:声明一个包的语句必须写在类中的第一行. 如:创建hero类,将该类存放到com.java.oriented.dato.figure包中 ...
- Java 面向对象-继承
1.继承的概述 泛指把前人的作风.文化.知识.财产等接受过来 java中的继承 让类与类之间产生父子关系 被继承的类叫做父类(基类.超类) 继承的类叫做子类(派生类) 格式(extends) clas ...
- java string()函数_转载java String.split()函数的用法详解
转载java String.split()函数的用法详解 如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!在java.lang包中有String.split()方法的原型是: p ...
- C++和Java中类继承同名函数的区分
C++和Java的派生类对于与基类同名的函数有着不同的处理方式. 在C++中,假设基类中有一个dis()函数,而派生类又定义了一个dis()函数,这时候在派生类对象中会将基类的dis()函数屏蔽掉,上 ...
- java 封装 继承 堕胎_Java的继承、封装和多态
一.继承 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为. 继承的特性 子类拥有父类非 private 的属性.方法. ...
- java 子类 复制_关于java子类继承来的属性与方法究竟是完全复制还是共用使用...
关于java子类继承来的属性与方法究竟是完全复制还是共用使用 关于java子类继承来的属性与方法究竟是完全复制还是共用使用 今天在学习java的面向对象时,无意间发现一个问题. public clas ...
- [转载] JAVA面试题大全(part_1)
参考链接: 对Java中派生类方法更严格的访问 JAVA面试题大全(part_1) 1.面向对象的特征有哪些方面 (1)抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目 ...
- [转载] java语言程序设计-基础篇
参考链接: Java中的决策制定(if,if-else,switch,break,continue,jump) 第1章,计算机.程序和Java概述 包括[每个java初学者都应该搞懂的问题] http ...
最新文章
- 【复杂网络】用户画像不应脱离社会关系,谈复杂网络的关键技术和应用实践
- Python基础教程:数据结构
- 掌握了这个方法,以后遇到bug不用再求人了!
- nacos启动失败:org.springframework.boot.web.server.WebServerExceptio
- 存储过程里调用另一个存储过程的值
- oracle biee 11g客户端连接OCI 10g/11g数据源时报错
- 程序员又迎一利器,联想 LeapIOT 工业互联网平台大曝光
- 转载:诠释Flash的职业发展道路
- 文件服务器minio
- PMP第十一节:项目风险管理
- python中print打印输出
- 如何科学管理你的密码
- Django学习笔记
- java手机游戏吸血鬼_Java 吸血鬼数字
- Matplotlib:面积图、填图、饼图
- 第一次参加数学建模有感
- 4.电子计算机的分类,国际上对计算机进行分类的依据是什么
- 视频去水印软件哪个好用?
- 回合制小游戏(英文)
- Spring MVC工作流程图
热门文章
- 调试跟踪利器---strace
- c语言数组两个值交换,如可交换两个数组中的元素?
- 海南大学计算机原理,海南大学微机原理课件 第一章 计算机基础知识
- python语法学习_Python学习1——语法
- python扫雷 广度优先_广度优先搜索(BFS)解题总结
- linux svn可视化工具,CentOS6.5安装SVN 可视化管理工具iF.SVNAdmin
- 服务器ip直接访问php怎么写,php - 如何实现用公网ip访问到服务器上的网页?
- hashmap remove 没释放内存_java从零开始手写 redis(13)HashMap 源码原理详解
- python选择题题库百度文库_大学Python程序题题库
- Latex+Texstudio+Texlive 2020 windows10 安装教程