一、java继承相关

实现如下类之间的继承关系,并编写Music类来测试这些类。

package eryi;

public class Instrument {

    public void play()
    {
        System.out.println("弹奏乐器");
    }
}

wind:

package eryi;

public class Wind extends Instrument {

    public void play()
    {
        System.out.println("弹奏wind");
    }
    public void play2()
    {
        System.out.println("调用wind的play2");
    }
}

brass:

package eryi;

public class Brass extends Instrument {

    public void play()
    {
        System.out.println("弹奏brass");
    }
    public void play2()
    {
        System.out.println("调用brass的跑play2");
    }
}

package eryi;

public class MUSIC {
    public static void tune(Instrument i) {
        i.play();
    }

    public static void main(String args[]) {
        Wind w = new Wind();
        Brass b = new Brass();

        w.play();
        w.play2();
        b.play();
        b.play2();

    }

}

编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类

E。要求:

(1) Monkey类中有个构造方法:Monkey (String s),并且有个public void speak()

方法,在speak方法中输出“咿咿呀呀......”的信息。

package eryi;

public class Monkey {

    Monkey(String s)
    {

    }
    public void speak()
    {
        System.out.println("咿咿呀呀...");
    }
}

(2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法

中输出“小样的,不错嘛!会说话了!”的信息。

(3)在People类中新增方法void think(),在think方法中输出“别说话!认真思考!”

的信息。

package eryi;

public class People1 extends Monkey {

    People1(String s) {
        super(s);

    }

    public void speak()
    {
        System.out.println("小样的,不错嘛!会说话了!");
    }

    public void think()
    {
        System.out.println("别说话!认真思考!");
    }
}

(4)在主类E的main方法中创建Monkey与People类的对象类测试这2个类的功

能。

package eryi;

public class E {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根

        Monkey m=new Monkey("猴子");

        m.speak();

        People1 p=new People1("人类");

        p.speak();
        p.think();
    }

}

创建如下三个类:(People类中的三个方法分别输出一些信息,ChinaPeople

和AmericanPeople类重写父类的三个方法)。

People:

package eryi;

public class People {

    protected double height;
    protected double weight;
    private String person;

    public void speakHello()
    {
        System.out.println();
    }
    public void averageHeight()
    {
        System.out.println();
    }
    public void averageWight()
    {
        System.out.println();
    }
    public double getHeight() {
        return height;
    }
    public void setHeight(double height) {
        this.height = height;
    }
    public double getWeight() {
        return weight;
    }
    public void setWeight(double weight) {
        this.weight = weight;
    }
    public String getPerson() {
        return person;
    }
    public void setPerson(String person) {
        this.person = person;
    }
}

ChinaPeople:

package eryi;

public class ChinaPeople extends People{

    public void speakHello()
    {
        System.out.println("你好");
    }

    public void averageHeight()
    {
        System.out.println("平均身高:175cm");
    }

    public void averageWight()
    {
        System.out.println("平均体重:60kg");
    }

    public void chinaGongFu()
    {
        System.out.println("我可以坐如钟,站如松,睡如弓");
    }
}

AmericanPeople:

package eryi;

public class AmericanPeople extends People {

    public void speakHello()
    {
        System.out.println("Hello");
    }

    public void averageHeight()
    {
        System.out.println("平均身高:178cm");
    }

    public void averageWight()
    {
        System.out.println("平均体重:65kg");
    }

    public void americanBoxing()
    {
        System.out.println("我会直拳");
    }
}

测试:

package eryi;

public class Person {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根

        ChinaPeople cp=new ChinaPeople();

        cp.setPerson("中国人");

        System.out.println(cp.getPerson());
        cp.speakHello();
        cp.averageHeight();
        cp.averageWight();
        cp.chinaGongFu();

        AmericanPeople ap=new AmericanPeople();

        ap.setPerson("美国人");

        System.out.println(ap.getPerson());
        ap.speakHello();
        ap.averageHeight();
        ap.averageWight();
        ap.americanBoxing();

    }

}

时间: 2024-11-10 05:32:10

一、java继承相关的相关文章

Java集合相关面试问题和答案

Java集合相关面试问题和答案 面试试题 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector.Stack.HashTable和Array.随着集合的广泛使用,Java1.2提出了囊括所有集合接口.实现和算法的集合框架.在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久.它还包括在Java并发包中,阻塞接口以及它们的实现.集合框架的部分优点如下: (1)使用核心集合类降低开发成本,而非实现我们自己的集合类.

java接口相关例题

java接口相关习题 interface Graphics{  //接口里面只能用抽象方法  public abstract double area();    }//设置 平面类class PlaneGraphics1{    private String shape; //形状    //构造方法,有参数    public PlaneGraphics1(String shape)    {        this.shape=shape;    }    //无参数    public P

Java集合类相关面试题

1.Collection和Collections的区别 java.util.Collection 是一个集合接口,Collection接口在Java类库中有很多具体的实现,例如List.Set java.util.Collections 是针对集合类的一个帮助类,它提供了一系列的静态方法实现对各种集合的搜索.排序.线程安全化等操作. 2.ArrayList与Vector的区别 这两个类都实现了List接口(List接口继承自Collection接口).它们都是有序集合,它们内部的元素都是可以重复

JAVA继承时构造函数的问题

今天看到java继承部分时,关于构造函数是否继承以及如何使用时遇到了点问题,后来查找相关资料解决了. 下面是我个人的总结: 先创建一个父类,里面有两个构造函数: public class Jisuan { protected int a=4; //构造函数1 Jisuan() { System.out.println("父类的无参数构造函数"); } //构造函数2 Jisuan(int a) { System.out.println("父类的有参数构造函数");

Java继承篇总结

继承: 1)概念 把多个类中相同的成员给提取出来定义到一个独立的类中.然后让这多个类和该独立的类产生一个关系,这多个类就具备了这些内容.这个关系叫继承. 1.1)定义类时,通过"继承"一个现有的类,子类可以具有父类中的所有属性和方法. 2)Java中如何表示继承呢?格式是什么呢? A:用关键字extends表示 B:格式: class 子类名 extends 父类名 {} 2.1)案例 public class Animal { String name; String color; p

面试总结(一)——Java基础相关知识

面试总结(一)--Java基础相关知识 最近在面试,所以总结下面试容易问到的知识点,用来备份查看用. 若需转载,请注明出处. 1.面向对象的特点: 1.将复杂的事情简单化 2.面向对象将以前过程中的执行者,变成了指挥者 3.面向对象思想是符合人们思考习惯的思想 2.面向对象特征: 1.封装:隐藏对象的属性和实现的细节,仅对外提供公共访问方式 好处:将变化隔离,便于使用,提高复用和安全性. 原则:将不需要对外提供的内容隐藏起来,隐藏属性,提供公共方法对其访问. 2.继承:提高代码复用性,继承是多态

java继承的那些事!

第二阶段 JAVA面向对象 第二章 继承 其实在我们面向对象这一阶段的学习中,我们就是围绕Java的三大特性(封装.继承.多态)来讲解的,在上一掌内容中我们讲解了一部分封装的有关知识,今天我们来重点学习继承的学习. 2.1 继承的基本认识 概述: 继承就是在一个已有类的基础上派生出新类 子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为 (父类更通用,子类更具体) #### 功能:有了继承以后,我们定义一个类的时候,可以在一个已

Java Reflection 相关及示例

Java Reflection 相关及示例 前言: 代码有点长.贴出github地址:https://github.com/andyChenHuaYing/scattered-items/tree/master/items-java-reflection 测试目标类:TargetClass.自定义的辅助类比较多.在这里不贴了.篇幅有限.并且测试也简单.因此测试类也没有提及. 一:简介 Java Reflection是针对Class也就是我们平常说的类而言的.用于操作Java中的Class.在Ja

java继承和多态

java方法直接调用原理推测 有错误还望指正 当直接调用某对象的某方法时  会更具该对象获取到类信息对象   在从类信息对象中找到该方法 没找到 获取父类信息对象继续查找 找到了执行  jdk距离实现是通过反射还是其它? 如果按以上原理    以下情况解释不通 创建一子类对象  赋值给一父类指针变量  通过父类指针变量掉run方法   run方法在父类或子类中为私有  这种情况调用的是父类的run方法 并非子类的run方法 反射jar包 package extend; import org.ju