古典音乐 (java基础 继承)

摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢!

一.前言

小朽不才,最近爱上了听古典音乐收录了,mozart ,贝多芬…等好听的歌很是喜欢。戴上耳机,打开电台,整理下java继承。

总结如下:

二. 继承(extends)

从编码中,咱们总是在不知不觉的用继承,明确的调用,或是隐式的调用了java根类Object。什么是继承?官方上说,继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。对我来说,继承就像古典音乐,来自音乐,却可有所不同。这就是说,古典音乐 extends 音乐

音乐类:Music.java

public class Music {

    private String name;
    private String kindName;
    private String description;

    /* ignore get/set methods of the parameters above*/

    public void play(){
        System.out.println(" music is playing");
    }
}

上面定义了音乐的一些属性成员 和 方法

古典音乐 :ClassicalMusic.java

public class ClassicalMusic extends Music
{
    public static void main(String[] args) {
        ClassicalMusic classicalMusic = new ClassicalMusic();
        classicalMusic.setName("I am ClassicalMusic");
        classicalMusic.setKindName("Classical Music Kind");
        classicalMusic.play();
    }
}

#ouputs : music is playing

上面 古典音乐继承了音乐,通过继承,ClassicalMusic类叫做衍生类(derived class)。被继承的类Music类称为基类(base class)。所描述的关系是“is-a”关系。

使用继承需要记住的几点:

  • 继承可以达到复用代码的方法。这就像一把双刃剑,用的好就好,用的不好就不好。在合适的地方用会更好
  • 子类可以访问基类非private的属性和方法。
  • 自然,子类也有权利申请自己需要的方法。那就是下面的 Mehtod
    Overriding

古典中寻找真谛,正如java继承中吹出古典味

三.方法覆盖(Mehtod Overriding)

在继承中,this 和 super是常见的关键词,super可以让我们很方便的调用到基类的方法或者构造器。在古典音乐中,我们加入属于他自己的播放方法。

@Override
public void play(){
    super.play();
    System.out.println(" but the Music is ClassicalMusic");
}
#outputs:
 music is playing
 but the Music is ClassicalMusic

   

最常见到的代码,就是各个DAO层对基类DAO层的实现。

               
   

四.protected

对于protected而言,它指明就类用户而言,他是private,但是对于任何继承与此类的子类而言或者其他任何位于同一个包的类而言,他却是可以访问的。在项目中,SpringMVC
Controller 的基类中存在对 日志,请求,响应,会话,还有service层的声明。

protected,就像保护着孩子的音乐细胞一样。只能让美好的,特定的音乐去访问。每个人都有每个人独特的品味,就像你mp3,或是手机里的音乐。那个属于你的去访问你音乐的细胞。

五.向上转型

is-a 的关系,表示古典音乐是属于音乐。它可以在广义上称为音乐,自然当一个人不懂古典音乐时,他完全可以把它当作音乐就ok了。把古典音乐当成音乐这就是向上转型。  其实我们第一个例子就用到了。

六.总结及参考文献[在此感谢]

http://www.cnblogs.com/chenssy/p/3354884.html

http://www.cnblogs.com/vamei/archive/2013/03/29/2982232.html

古典音乐 (java基础 继承)

时间: 2024-10-05 23:26:57

古典音乐 (java基础 继承)的相关文章

Java基础继承与多态

Java基础第九天 继承概述 引入 首先我来写两个代码: //定义学生类 class Student {     public void study(){ System.out.println("在教室学习"); } } //定义老师类 class Teacher { public void teach(){ System.out.println("在教室教书"); } } 我们观察上面两个代码: 发现name,age成员变量,以及getXxx()/setXxx()

java基础-继承

一个由其他类继承的类叫子类(也叫继承类,扩展类等),该类继承的类叫父类或超类.除了Object类意外,所有的类都有切仅有一个父类,如果一个类没有用extends关键词声明父类,则该类隐含继承Object类,因此如果一个类继承另外一个父类,而该父类可能又是继承的另外一个类,最终的起点在Object类. java中继承的概念简单而强大,当你需要定义的一个类中的许多代码已经在另外一个类中存在时,我们就可以选择定义时继承该类,这样免去许多书写和调试的麻烦,子类能够继承父类的字段,方法和嵌套类,即类成员,

黑马程序员----java基础----继承与多态,附相关面试题

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一:继承(掌握) (1)把多个类中相同的成员给提取出来定义到一个独立的类中.然后让这多个类和该独立的类产生一个关系, 这多个类就具备了这些内容.这个关系叫继承. (2)Java中如何表示继承呢?格式是什么呢? A:用关键字extends表示 B:格式: class 子类名 extends 父类名 {} (3)继承的好处: A:提高了代码的复用性 B:提高了代码的维护性 C:让类与类产生了一个关

java基础-继承:矩形体积类问题

28.按要求编写一个Java应用程序: (1)定义一个类,描述一个矩形,包含有长.宽两种属性,和计算面积方法. (2)编写一个类,继承自矩形类,同时该类描述长方体,具有长.宽.高属性, 和计算体积的方法. (3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长. 宽.高,输出其底面积和体积. package zhongqiuzuoye; //定义一个类,描述一个矩形,包含有长.宽两种属性,和计算面积方法. public class Juxing { private double x

java 基础-继承

1.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表.然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法showB输出大写的英文字母表.最后编写主类C,在主类的main方法中测试类A与类B. //父类 public class Zimubiao { void showA() { System.out.println("abcd"); } } //子类 public class Zimubiao2

黑马程序员--java基础------继承,抽象,接口

-----------android培训.java培训.java学习型技术博客.期待与您交流!------------  继承 一.概述         继承是面向对象的一个重要特征.当多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继那个类即可.这时,多个类可以称为子类,单独的这个类称为父类或者超类. 这样类与类之间就存在了继承的关系.子类可以直接访问父类中的非私有的属性和行为.在代码中通过extends关键字表示继承关系.例: class

java基础继承(重写)练习

. 1.实现如上类之间的继承关系,并编写Music类来测试这些类. //父类 public class Instrument { //输出弹奏乐器 public void play() { System.out.println("弹奏乐器"); } } public class Wind extends Instrument { //输出弹奏Wind public void play() { System.out.println("弹奏Wind"); } //调用“

Java基础---继承、抽象、接口

一.概述         继承是面向对象的一个重要特征.当多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继那个类即可.这时,多个类可以称为子类,单独的这个类称为父类或者超类.例如:猫和豹子都是猫科动物,那么就可以说描述猫这个对象创建的类,是子类:而描述猫科动物这个对象创建的类,就是父类. 这样类与类之间就存在了继承的关系.子类可以直接访问父类中的非私有的属性和行为.在代码中通过extends关键字表示继承关系.例: class Sonexte

java基础继承

为什么用继承: 因为继承可以减少代码的冗余,提高维护性,为了从根本上解决存在的问题,就需要继承,就是将多个类当中的相同的地方提取到一个父类当中.父类更通用,子类更具体. 1 父类的继承格式 2 语法:public class 父类{ 3 4 } public class 子类 extends 父类{ } 继承关键字:extends 在java中类的继承是单一继承,就是说一个子类只能拥有一个父类 super关键字  super的作用: 调用父类的构造方法 调用父类的方法 语法: 1. 子类不继承父