26.定义类Human,具有若干属性和功能;定义其子类Man、Woman;

在主类Test中分别创建子类、父类和上转型对象,并测试其特性。

 

package com.hry.test;

public class Human
{
//成员属性
private String name;
private int age;
private double height;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
//成员方法
public void speak()
{
System.out.println("你喜欢什么运动呢?");
}
public void yundong()
{
System.out.println("我喜欢打篮球");
} }
package com.hry.test;

public class Man extends Human
{
//重写父类的方法
public void speak()
{
System.out.println("我是男生,我叫"+this.getName()+"我的年龄是:"+this.getAge()+"我的身高为:"+this.getHeight());
}
public void yundong()
{
System.out.println("我最喜欢的运动是玩游戏,德玛西亚....");
}
}
package com.,hry.test;

public class Woman extends Human
{
//重写父类方法
public void speak()
{
System.out.println("我是女生,我叫"+this.getName()+"我的年龄是:"+this.getAge()+"我的身高为:"+this.getHeight());
}
public void yundong()
{
System.out.println("我最喜欢的运动是羽毛球");
}
}
package com.hry.test;

public class Text_human
{ public static void main(String[] args)
{
//实例化man对象
Man m = new Man();
m.setName("张小明");
m.setAge();
m.setHeight();
m.speak();
m.yundong(); //实例化woman对象
Woman wm = new Woman();
wm.setName("张小红");
wm.setAge();
wm.setHeight();
wm.speak();
wm.yundong(); //实例化对象
Human h=new Human();
h.speak();
h.yundong(); //定义上转型对象
Human hm=new Man();
hm.setName("tom");
hm.setAge();
hm.setHeight();
hm.speak();
hm.yundong(); } }

27.编写一个Animal类,具有属性:种类;具有功能:吃、睡。定义其子类Fish

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

 

package com.hry.test;

public class Animal {

    //属性

    private String type;

    public String getType() {
return type;
} public void setType(String type) {
this.type = type;
} //功能
public void eat()
{
}
public void sleep()
{
} }
package com.hry.test;

public class Fish extends Animal{

    public void eat()
{
System.out.println(getType()+" 吃");
}
public void sleep()
{
System.out.println(getType()+" 睡");
} }
package com.hry.test

public class Dog extends Animal{

    public void eat()
{
System.out.println(getType()+"吃");
}
public void sleep()
{
System.out.println(getType()+"睡");
} }
package com.hry.test

public class TestAnamal {

    public static void main(String[] args) {
// TODO 自动生成的方法存根 Fish f=new Fish();
f.setType("鱼");
f.eat();
f.sleep(); Dog d=new Dog();
d.setType("狗");
d.eat();
d.sleep(); }
}

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

(1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。

(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性,

和计算体积的方法。

(3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、

宽、高,输出其底面积和体积。

 

class rectangle
{
private int x;
private int y; rectangle(int x,int y)
{
this.x=x;
this.y=y;
}
public int acreage()
{
retrun x*y;
}
} class cuboid extends rectangle
{
private int z;
cuboid(int x,int y,int z)
{
super(x,y);
this.z=z;
} public int cubage()
{
return x*y*z;
}
} publicclass Test {
publicstaticvoid main(String[] args){ cuboid c =new cuboid(,,);
int i = c.cubage(); System.out.println("体积:"+ i);
\ } }

29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数

wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数

loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个

类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功

能。

 

class Vehicle {
private int wheels;
private float weight;
protected Vehicle(int wheels, float weight){
this.wheels = wheels;
this.weight = weight;
}
public int getWheels() {
return wheels;
}
public float getWeight() {
return weight;
}
public void print(){
System.out.println("汽车:");
System.out.println("共有"+this.getWheels()+"个轮子");
System.out.println("重量为"+this.getWeight()+"吨");
}
}
class Car extends Vehicle{
private int passenger_load;
public Car(int wheels, float weight, int passenger_load) {
super(wheels, weight);
this.passenger_load = passenger_load;
}
public int getPassenger_load() {
return passenger_load;
}
public void print(){
System.out.println("小车:");
System.out.println("共有"+this.getWheels()+"个轮子");
System.out.println("重量为"+this.getWeight()+"吨");
System.out.println("载人数为"+this.getPassenger_load()+"人");
}
} class Truck extends Vehicle{
private int passenger_load;
private float payload;
public Truck(int wheels, float weight, int passenger_load, float payload) {
super(wheels, weight);
this.passenger_load = passenger_load;
this.payload = payload;
}
public int getPassenger_load() {
return passenger_load;
}
public float getPayload() {
return payload;
}
public void print(){
System.out.println("卡车:");
System.out.println("共有"+this.getWheels()+"个轮子");
System.out.println("重量为"+this.getWeight()+"吨");
System.out.println("载人数为"+this.getPassenger_load()+"人");
System.out.println("载重量为"+this.getPayload()+"吨");
}
} public class Test{
public static void main(String args[]){
Vehicle car = new Car(, , );
Vehicle truck = new Truck(, , , );
System.out.println("*****************************");
car.print();
System.out.println("*****************************");
truck.print();
} } /*
*output:
*****************************
小车:
共有4个轮子
重量为3.0吨
载人数为4人
*****************************
卡车:
共有6个轮子
重量为6.0吨
载人数为2人
载重量为10.0吨

30.编写一个Shape类,具有属性:周长和面积;

定义其子类三角形和矩形,分别具有求周长的方法。

定义主类E,在其main方法中创建三角形和矩形类的对象,

并赋给Shape类的对象a、b,使用对象a、b来测试其特性。

. interface Shape
{
public abstract double area();
public abstract double perimeter();
public abstract double display();
} . class Circle implements Shape
{
int x;//横坐标
int y;//纵坐标
double a;//半径
public Circle (int x,int y,double a)//构造函数
{
this.x=x;
this.y=y;
this.a=a;
}
public double area()
{
return 3.14*a*a;
} public double perimeter()
{
return *3.14*a;
} public void display()
{
System.Out.println("此圆的圆心为a("+this.x+","+this.y+")");
System.Out.println("此圆的半径为r="+this.a); }
} . . 就不写了,与圆类似,就多了个drow()函数,你可以去找找这个函数的实现 . public static void main(String[]args)throws IOException
{
Circle C=new Circle(,,);
System.out.println("所求圆的面积S="+C.area());
System.out.println("所求圆的周长L="+C.perimeter());
C.display();
//其他的测试一样
}

12java基础继承的更多相关文章

  1. python基础——继承和多态

    python基础——继承和多态 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类 ...

  2. python基础——继承实现的原理

    python基础--继承实现的原理 1 继承顺序 class A(object): def test(self): print('from A') class B(A): def test(self) ...

  3. python基础——继承与派生、组合

    python基础--继承与派生 1 什么是继承: 继承是一种创建新的类的方式,在python中,新建的类可以继承自一个或者多个父类,原始类成为基类或超累,新建的类成为派生类或子类 1.1 继承分为:单 ...

  4. 《Java基础——继承》

    Java基础--继承     一.类的继承: 规则: 1.一个子类只能有一个父类,但一个父类可以有多个子类,每个子类都可以作为父类使用. 2.若一个类没有声明父类,则默认其父类为Object. 3.父 ...

  5. OC基础--继承

    继承的基本概念: 现实生活中的继承: 人类是一个基类(也称做父类),通常情况下所有人类所共同具备的特性,如有手有脚能吃能喝 按照生活常规,我们继续给人类来细分的时候,我们可以分为学生类 工人类等,学生 ...

  6. Java基础--继承方法调用顺序

    最近因为面试的原因,回过头来复习基础的知识,都忘光了,准备买本面试书回来啃. 我先把自己测试的结论总结写出来,以后忘记再来看看 如果b类继承自a类,在main方法中new出b的对象(不带参数),那么他 ...

  7. python基础----继承与派生、组合、接口与归一化设计、抽象类、子类中调用父类方法

    一.什么是继承                                                                          继承是一种创建新的类的方式,在pyth ...

  8. python基础===继承

    编写类时,并非总是要从空白开始.如果你要编写的类是另一个现成类的特殊版本,可使用继承.一个类继承另一个类时,它将自动获得另一个类的所有属性和方法:原有的类称为父类,而新类称为子类.子类继承了其父类的所 ...

  9. 03Java基础——继承

    1.继承 例如一个员工类,包括开发员工和经理. package cn.jxufe.java.chapter2.demo12; public class Employee { String name; ...

随机推荐

  1. 数据库SQL优化百万级数据库优化方案

    1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  2. [Matlab] Galois Field arrays

    Operations supported for Galois Field arrays: + - - Addition and subtraction of Galois arrays. * / \ ...

  3. xss攻击汇总--转

    (1)普通的XSS JavaScript注入<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>(2)IMG标签XSS使用JavaScr ...

  4. C# 面试题二

    1.        请编程实现一个冒泡排序算法? int [] array = new int [*] ; ; ; i < array.Length - ; i++) { ; j < ar ...

  5. 【转】sqlserver字符串拆分(split)方法汇总

    Java..net等开发工具具有split功能,最近在Sqlserver中碰到这个需求. 方法1:动态SQL法 ),) set @string='1,2,3,4,5,6,7,8,9,10' set @ ...

  6. ie 9 渐变背景色兼容问题

    /*窗口背景*/  .window {    background-color: #fff;    background: -webkit-linear-gradient(top,#EFF5FF 0, ...

  7. javascript实现数据结构:稀疏矩阵的十字链表存储表示

    当矩阵的非零个数和位置在操作过程中变化大时,就不宜采用顺序存储结构来表示三元组的线性表.例如,在作“将矩阵B加到矩阵A上”的操作时,由于非零元的插入或删除将会引起A.data中元素的移动.为此,对这种 ...

  8. 【阿里云产品公测】PTS压力测试服务器性能

    作者:阿里云用户xsnjxjj 在PTS服务之前,经常使用webbench来对服务器进行压力测试,在看到阿里云PTS服务的介绍以后,深深的被PTS强大的功能所吸引     非常感谢阿里云团队给予的测试 ...

  9. 超简便的ListView中Adapter的写法

    对于 ListView 的使用,他有两个重点的部分,一个是下拉刷新和加载更多,这个今天我们不讲,另外一个是 BaseAdapter 的使用,这个是今天的主角,BaseAdapter 中又有 ViewH ...

  10. Android UI 切图命名规范、标注规范及单位描述(转载)

    本文转自:https://blog.csdn.net/klxh2009/article/details/74938009 很多UI设计师做APP切图都会有两套,一套是Android的,一套是IOS的. ...