- 浏览: 16640 次
- 性别:
- 来自: 武汉
最新评论
在现实生活中,我们经常听到“继承”二字,这两字通常存在于父子之间。在Java中,继承是利用类与类之间的共同点建立起简化程序的一种方式,继承的类称为子类,被继承的类称为父类。
public class Fruit {
public String color ="";
public void plant(){
System.out.println("果树正在种植ing");
}
public void grow(){
System.out.println("果树正在生长ing");
}
public void harvest(){
System.out.println("果树已经收获......");
}
public Fruit(){
this("this调用有参构造方法");
System.out.println("无參给构造方法");
}
public Fruit(String color){
System.out.println("有参构造方法");
this.color=color;
}
public static void main(String[] args){
Fruit fruit=new Fruit();
fruit.grow();
fruit.plant();
fruit.harvest();
Apple apple=new Apple();
apple.plant();
System.out.println("color:"+apple.color);
}
}
public class Apple extends Fruit{
public String color ="red";
public void plant(){
System.out.println("苹果树正在种植ing");
}
}
在上面的两个类中,fruit是父类,apple是子类,子类继承了父类中所有的成员变量和成员方法,可以通过对象访问使用父类的非私有的变量和方法,对于私有的变量可以通过函数间接调用,而父类中的方法通常不会声明为私有的。
子类和父类之间还有一种重要的关系,那就是重写和覆盖。当子类中定义的变量与父类中定义的变量完全相同时,就会覆盖父类中的变量比如上例中的color,在父类中输出color是null,在子类中输出color是red。两者不同。方法重写就是子类与父类中的方法定义完全相同,但是方法体不同。如上例中plant方法,在子类中调用和在父类中调用,输出是不一样的。
爱思考的的人可能就会问,子类继承了父类,重写了父类的方法,那么在子类中能不能调用父类中被子类重写的方法或覆盖的变量呢?这就要说到super关键字和this关键字了。请听下回分解。
public class Fruit {
public String color ="";
public void plant(){
System.out.println("果树正在种植ing");
}
public void grow(){
System.out.println("果树正在生长ing");
}
public void harvest(){
System.out.println("果树已经收获......");
}
public Fruit(){
this("this调用有参构造方法");
System.out.println("无參给构造方法");
}
public Fruit(String color){
System.out.println("有参构造方法");
this.color=color;
}
public static void main(String[] args){
Fruit fruit=new Fruit();
fruit.grow();
fruit.plant();
fruit.harvest();
Apple apple=new Apple();
apple.plant();
System.out.println("color:"+apple.color);
}
}
public class Apple extends Fruit{
public String color ="red";
public void plant(){
System.out.println("苹果树正在种植ing");
}
}
在上面的两个类中,fruit是父类,apple是子类,子类继承了父类中所有的成员变量和成员方法,可以通过对象访问使用父类的非私有的变量和方法,对于私有的变量可以通过函数间接调用,而父类中的方法通常不会声明为私有的。
子类和父类之间还有一种重要的关系,那就是重写和覆盖。当子类中定义的变量与父类中定义的变量完全相同时,就会覆盖父类中的变量比如上例中的color,在父类中输出color是null,在子类中输出color是red。两者不同。方法重写就是子类与父类中的方法定义完全相同,但是方法体不同。如上例中plant方法,在子类中调用和在父类中调用,输出是不一样的。
爱思考的的人可能就会问,子类继承了父类,重写了父类的方法,那么在子类中能不能调用父类中被子类重写的方法或覆盖的变量呢?这就要说到super关键字和this关键字了。请听下回分解。
发表评论
-
浅谈hashtable
2015-05-02 13:44 0在学习编程中,我们都知道最基 ... -
Jlist的使用
2015-04-27 15:22 731以前对JList不大了解,只知 ... -
编写自定义窗体和组件
2015-04-27 11:51 604在学习java图形界面的时候,就想编 ... -
String,StringBuffer,StringBuilder
2015-04-26 17:24 364String一旦实例化,里面的 ... -
监听器原理
2015-04-26 13:15 510今天 ... -
JTable的使用
2015-04-26 11:23 663... -
java编程之集合框架
2015-01-09 23:27 607在写哈弗曼编码时,看到了优先队列, ... -
java编程之集合框架
2015-01-09 23:12 494我们知道集合 ... -
java编程之集合框架
2015-01-09 22:48 374java里面集合框架是比较重要的基础 ... -
java图形化用户界面
2014-11-15 23:03 529在前面我们实现了画一条直线,那么如何画 ... -
java编程基础之链表
2014-11-15 22:41 457数组查询速度虽然快,但插入删除不方便, ... -
java编程基础之数组队列
2014-11-15 22:14 410最常见的数据存储结构就是数组,数组 ... -
java网络通信
2014-10-20 22:44 378没接触通信编程之前,总觉得通信好神 ... -
java图形化用户界面
2014-10-20 21:57 408在前面的几篇博客中我们已近了解 ... -
java编程之多态性
2014-08-26 20:53 502[align=center][/align] 前面已经 ... -
java编程之接口
2014-08-25 21:58 392在前面我们已经讲过了抽象类和继承,今天就让我们来看 ... -
this和super关键字简析
2014-08-25 21:58 350在Java中,this通常指当前对象,su ... -
java编程的封装性之类对象2
2014-08-25 21:57 278这次直接开门见山吧,先看一下抽象类的定义 ... -
java编程的封装性之类对象1
2014-08-25 21:57 363[i][/i][color=yellow][/color] ... -
初识java
2014-08-22 11:35 384接触过编程语言的人都应该听过面向对象和面向过程 ...
相关推荐
Java语言程序设计(第二版)\第05章 类的继承性与多态性.ppt
优质java课件 java程序设计教程(第6版)01.计算机系统概述(共42页).ppt 优质java课件 java程序设计教程(第6版)02.数据与表达式(共62页).ppt 优质java课件 java程序设计教程(第6版)03.使用类和对象(共49页...
JAVA面向对象编程继承性和多态性PPT教案学习.pptx
java 实验 继承与多态rectAngle 定义矩形类,用户输入矩形的长与宽,程序计算其面积和周长;派生子类正方形类,定义一个接口Printable源代码
父类的所有 方法和属性都被子类的对象继承 多态性是不同的实例对象以不同的方式对相同的信息作出不同的表现 访问修饰符用于确定访问类成员的方式 Java 常用修饰符有 static、final、abstract 接口是Java编程一项重要...
JAVA面向对象编程第四章继承性和多态性 课件.ppt
全书共14章,包括Java基本的程序结构、对象与类、继承、接口与内部类、图形程序设计、事件处理、Swing用户界面组件、部署应用程序和Applet、异常日志断言和调试、泛型程序设计、集合以及多线程等内容。. 全书对Java...
优质java课件 java程序设计教程(第6版)01.计算机系统概述(共42页).ppt 优质java课件 java程序设计教程(第6版)02.数据与表达式(共62页).ppt 优质java课件 java程序设计教程(第6版)03.使用类和对象(共49页...
优质java课件 java程序设计教程(第6版)01.计算机系统概述(共42页).ppt 优质java课件 java程序设计教程(第6版)02.数据与表达式(共62页).ppt 优质java课件 java程序设计教程(第6版)03.使用类和对象(共49页...
优质java课件 java程序设计教程(第6版)01.计算机系统概述(共42页).ppt 优质java课件 java程序设计教程(第6版)02.数据与表达式(共62页).ppt 优质java课件 java程序设计教程(第6版)03.使用类和对象(共49页...
1、实验名称:类的继承、多态的应用 2、代码内容:学生管理类 3、【实验目的】 (1)进一步熟悉抽象类和抽象方法的定义 (2) 进一步掌握集成和多态的实现方式。
Java除了可解决传统的程序设计问题以外,还能解决World Wide Web(万维网)上的编程问题。 1.11.1 什么是Web? 1.11.2 客户端编程 1.11.3 服务器端编程 1.11.4 一个独立的领域:应用程序 1.12 分析和设计 1.12.1 ...
优质java课件 java程序设计教程(第6版)01.计算机系统概述(共42页).ppt 优质java课件 java程序设计教程(第6版)02.数据与表达式(共62页).ppt 优质java课件 java程序设计教程(第6版)03.使用类和对象(共49页...
1. 由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。 ( × ) 2. 注释的作用是使程序在执行时在屏幕上显示//之后的内容。 ( ×) 3. Java语言中的数组元素下标总是从0开始,下标可以...
它以最新的Java 7为基础,全面讲解了Java编程语言、Java面向对象技术和Java核心类库三大主题,包含大量案例,是系统学习Java 7程序设计的Bible级著作。本书是Java SE 7程序设计全面、系统的教程,涵盖Java编程语言、...
继承和多态的相关Java源码下载,比较散,像覆盖和重载、对象类Object和它的toString()方法、多态性、动态绑定和一般程序设计、数组线性表ArrayList类、final类、方法和变量、数据域和静态方法的隐藏、调用父类的方法...
继承是面向对象编程的三大特征之一,其他两个分别是封装和多态。 继承的作用 1.提高代码的复用性:通过继承,子类可以直接使用父类的属性和方法,不需要重复定义。 2.便于代码的扩展:通过在子类中添加新的属性和...
西南科技大学Java程序设计与实践 实验三 类的继承与多态的应用 一、实验目的: 1、练习类的继承与多态设计过程; 2、练习面向对象的图形用户界面设计、事件设计方法。 二、实验内容: 1、利用多态性编程,创建一个 ...
Java继承时构造函数的调用, java面向对象特征: 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地...多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题
太阳微系统对Java语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言” Java不同于一般的编译语言或解释型语言。它首先将源代码编译成...