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 extends Zimubiao {
    void showB()
    {
        System.out.println("ABCD");
    }
}
//测试
Zimubiao a =new Zimubiao();
        a.showA();
        Zimubiao2 b = new Zimubiao2();
        b.showA();
        b.showB();

2.实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty和Staff。

具体要求如下:

(1)Person类中的属性有:姓名name(String类型),地址address(String类型),电话号码telphone(String类型)和电子邮件地址email(String类型);

(2)Employee类中的属性有:办公室office(String类型),工资wage(double类型),受雇日期hiredate(String类型);

(3)Faculty类中的属性有:学位degree(String类型),级别level(String类型);

(4)Staff类中的属性有:职务称号duty(String类型)。

//练习继承的关系

public class Person {
    String name;
    String address;
    String telephone;
    String email;

}
public class Employee extends Person {
                String office;
                double wage;
                String hiredate;
}
public class Faculty extends Employee {
        String degree;
        String level;
}
public class Staff extends Employee{
        String duty;
}

3.编写一个Car类,具有String类型的属性品牌,具有功能drive;

定义其子类Aodi和Benchi,具有属性:价格、型号;具有功能:变速;

定义主类E,在其main方法中分别创建Aodi和Benchi的对象并测试对象的特性。

public class Car {
    String peipai;
    void dirver()
    {

    }
}
public class Aodi extends Car{
    double price;
    String xinghao;
    double biansu;
     public Aodi(double price,String xinghao,double biansu)
     {
         this.xinghao =xinghao;
         this.price =price;
         this.biansu =biansu;
     }
     double biansu1(int jia)
     {
         return biansu+=jia;

     }
     double biansu2(int jian)
     {
         return biansu-=jian;

     }

}
public class Benchi extends Car {
    double price;
    String xinghao;
    double biansu;
     public Benchi(double price,String xinghao,double biansu)
     {
         this.xinghao =xinghao;
         this.price =price;
         this.biansu =biansu;
     }
     double biansu1(int jia)
     {
         return biansu+=jia;

     }
     double biansu2(int jian)
     {
         return biansu-=jian;

     }
public class E {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        Aodi a =new Aodi(200000.0,"AodiA8",150);
        a.peipai="Aodi";
        System.out.println("Aodi的属性"+"品牌为:"+a.peipai+" "+" 型号"+a.xinghao+" "+"价格"+a.price+" "+"特性"+a.biansu1(20));
        Benchi b =new Benchi(300000.0,"Benchi23",164);
        b.peipai ="Benchi";
        System.out.println("Benchi的属性"+"品牌为:"+b.peipai+" "+" 型号"+b.xinghao+"价格"+b.price+" "+"特性"+b.biansu2(20));
    }

}

4.按要求编写一个Java应用程序:

(1)编写一个矩形类Rect,包含:

   两个属性:矩形的宽width;矩形的高height。

两个构造方法:

1.一个带有两个参数的构造方法,用于将width和height属性初化;

2.一个不带参数的构造方法,将矩形初始化为宽和高都为10。

两个方法:

求矩形面积的方法area()

求矩形周长的方法perimeter()

(2)通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用

矩形的左上角坐标来标识,包含:

添加两个属性:矩形左上角坐标startX和startY。

两个构造方法:

带4个参数的构造方法,用于对startX、startY、width和height属性初始化;

不带参数的构造方法,将矩形初始化为左上角坐标、长和宽都为0的矩形;

添加一个方法:

判断某个点是否在矩形内部的方法isInside(double x,double y)。如在矩形内,返回true, 否则,返回false。

提示:点在矩形类是指满足条件:

x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height)

(3)编写PlainRect类的测试程序

创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象;

计算并打印输出矩形的面积和周长;

判断点(25.5,13)是否在矩形内,并打印输出相关信息。

public class Rect {
        double width;
        double height;
        public Rect(double width,double height)
        {
            this.width = width;
            this.height = height;
        }
        public Rect()
        {
            this.width=10;
            this.height=10;
        }
        public double area()
        {
            return  width*height;
        }
        public double perimeter()
        {
            return (width+height)*2;
        }
}
public class PlainRect extends Rect {
    double startX;
    double startY;
    public PlainRect(double startX,double startY,double width,double height)
    {
        this.height=height;
        this.width =width;
        this.startX =startX;
        this.startY=startY;
    }
    public PlainRect()
    {
        this.height=0;
        this.width=0;
        this.startX=0;
        this.startY=0;
    }
    public boolean isInside(double x,double y)
    {
        if(x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height))
        {
            System.out.println("在矩形内");
            return true;
        }
        else
        {
            System.out.println("不在矩形内");
            return false;
        }
    }
}
public class TestPlainRect {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        PlainRect a =new PlainRect(10,10,10,20);
        System.out.println("矩形的左上角的坐标为"+"("+a.startX+","+a.startY+")");
        System.out.println("矩形的长和宽分别为:"+a.width+" "+a.height);
        System.out.println("矩形的面积为"+a.area());
        System.out.println("矩形的周长为"+a.perimeter());
        System.out.println(a.isInside(25.5, 13));
    }

}

时间: 2024-11-03 21:37:23

java 基础-继承的相关文章

古典音乐 (java基础 继承)

摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! 一.前言 小朽不才,最近爱上了听古典音乐收录了,mozart ,贝多芬-等好听的歌很是喜欢.戴上耳机,打开电台,整理下java继承. 总结如下: 继承(extends) 方法覆盖(Mehtod Overriding) protected 向上转型 二. 继承(extends) 从编码中,咱们总是在不知不觉的用继承,明确的调用,或是隐式的调用了java根类Object.什

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基础------继承,抽象,接口

-----------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. 子类不继承父