在学习继承之前我们来来思考这样一个问题: 我想创建一个学生类,男学生类,女学生类,会有这么几个问题: 1、不管是男同学还是女学生,都是学生,学生公有的方法和属性本来就有很多。 2、虽然都是学生,但是男女毕竟有别,还是有一些不一样的地方。 在以往的认知当中,我们不得不创建学生类,男学生类,女学生类,然后书写每一个重复的属性和方法。 但是java给我们提供了更好的解决方案叫继承。 java程序员必备的基础知识_java面向对象之继承(一) 1、基本介绍 继承可以解决代码复用的问题,一个类可以继承一个类,被继承的类我们称之为【父类】或者【超类】,另一个类称之为【子类】也 叫【派生类】,子类可以通过extends关键字轻松拥有获取父类的 成员变量和成员方法的能力,除了被private修饰的。在java中是单 继承的,这样可以规范代码的实现。 继承其实很好理解的,我们天生就会继承来自父母的很多基因,那爸爸的很多能力或者特征你天生就会拥有。 java程序员必备的基础知识_java面向对象之继承(一) 写一个小代码,我们尝试理解一下: // 定义一个父亲类,有名字属性和一个吃的方法public class Father {private String name; public void eat(){ System.out.println('I am eating!'); } public String getName() { return name; } public void setName(String name) { this.name = name; } }
现在无论是哪个子类都能调用父类的方法: public static void main(String[] args) {SonONe sonONe = new SonONe();sonONe.eat();} 当然,儿子作为一个单独的个体,它依然可以拥有属于自己的属性和方法。
经过这样的设计,我们的代码实现起来可以十分的灵活。 比如:我们现在一个现实中父亲、儿子、孙子之间的关系的类,我们是不是就可以这样设计类了。 public class Father { public String name = 'lily'; public Father() { System.out.println('Father is created!'); } public void eat(){ System.out.println('father is eating!'); }}
public class GrandSon extends Son{ public GrandSon() { System.out.println('GrandSon is created!'); } public void play(){ System.out.println('grandson is playing!'); }}
|
|
来自: 好汉勃士 > 《Java的基本概述》