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. 【转】Python中不尽如人意的断言Assertion

    原文地址:Python中不尽如人意的断言Assertion Python Assert 为何不尽如人意 Python中的断言用起来非常简单,你可以在assert后面跟上任意判断条件,如果断言失败则会抛 ...

  2. 一个典型案例为你解读TDSQL 全时态数据库系统

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯技术工程官方号发表在腾讯云+社区 经典案例 增量抽取.增量计算等都是T-TDSQL的经典案例.如下以增量计算为例,来分析T-TDS ...

  3. Nagios 利用NSClient++的check_nrpe方式使用自定义脚本监控windows

    分类 NsClient++来监控windows主机有三种方式:check_nt.check_nrpe.nsca.check_nt自带很多功能,但是扩展性差,check_nrpe可以通过执行自己定义的脚 ...

  4. ubuntu遇到了 dpkg was interrupted, you must manually run 'dpkg..的问题

    dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem. E: _cache- ...

  5. [转]微信小程序(应用号)是什么,是否值得投入进来做?

    本文转自:http://www.woshipm.com/it/417887.html 距离张小龙的那场首次公开演讲已经有九个月了,而在那场演讲中备受关注的「应用号」在千呼万唤中终于以「小程序」的名字正 ...

  6. File 类 的基本操作

    //  File 类(静态类)   File 的缺点:只能用来读小文件 (它是一下子全都读进去) //创建一个文件 // File.Create(@"C:\Users\wbrm\Deskto ...

  7. artDialog组件应用学习(一)

    个人觉得artDialog是一组很不错的对话框组件.写的是artDialog_v6应用. 官方称其兼容性测试通过:IE6~IE11.Chrome.Firefox.Safari.Opera. 官网:ht ...

  8. 关于window的端口查看及tomcat的端口修改问题

    1.Windows平台 在windows命令行窗口下执行: 1.查看所有的端口占用情况 C:\>netstat -ano 协议    本地地址                     外部地址  ...

  9. Python学习系列----第五章 模块

    5.1 如何引入模块 在Python中用关键字import来引入某个模块,比如要引用模块math,就可以在文件最开始的地方用import math来引入.在调用math模块中的函数时,必须这样引用: ...

  10. Siebel Tools配置

    默认安装的Siebel+Tools,Tools登陆时有3个选项:Local.Sample.Server,具体涵义如下: Local:指本地数据库.按照Siebel开发建议,开发人员需要从Siebel ...