12java基础继承
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基础继承的更多相关文章
- python基础——继承和多态
python基础——继承和多态 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类 ...
- python基础——继承实现的原理
python基础--继承实现的原理 1 继承顺序 class A(object): def test(self): print('from A') class B(A): def test(self) ...
- python基础——继承与派生、组合
python基础--继承与派生 1 什么是继承: 继承是一种创建新的类的方式,在python中,新建的类可以继承自一个或者多个父类,原始类成为基类或超累,新建的类成为派生类或子类 1.1 继承分为:单 ...
- 《Java基础——继承》
Java基础--继承 一.类的继承: 规则: 1.一个子类只能有一个父类,但一个父类可以有多个子类,每个子类都可以作为父类使用. 2.若一个类没有声明父类,则默认其父类为Object. 3.父 ...
- OC基础--继承
继承的基本概念: 现实生活中的继承: 人类是一个基类(也称做父类),通常情况下所有人类所共同具备的特性,如有手有脚能吃能喝 按照生活常规,我们继续给人类来细分的时候,我们可以分为学生类 工人类等,学生 ...
- Java基础--继承方法调用顺序
最近因为面试的原因,回过头来复习基础的知识,都忘光了,准备买本面试书回来啃. 我先把自己测试的结论总结写出来,以后忘记再来看看 如果b类继承自a类,在main方法中new出b的对象(不带参数),那么他 ...
- python基础----继承与派生、组合、接口与归一化设计、抽象类、子类中调用父类方法
一.什么是继承 继承是一种创建新的类的方式,在pyth ...
- python基础===继承
编写类时,并非总是要从空白开始.如果你要编写的类是另一个现成类的特殊版本,可使用继承.一个类继承另一个类时,它将自动获得另一个类的所有属性和方法:原有的类称为父类,而新类称为子类.子类继承了其父类的所 ...
- 03Java基础——继承
1.继承 例如一个员工类,包括开发员工和经理. package cn.jxufe.java.chapter2.demo12; public class Employee { String name; ...
随机推荐
- nyoj 546——Divideing Jewels——————【dp、多重背包板子题】
Divideing Jewels 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 Mary and Rose own a collection of jewells. ...
- 用js语句控制css样式
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- C#中三个关键字params,Ref,out
关于这三个关键字之前可以研究一下原本的一些操作 using System; using System.Collections.Generic; using System.Text; namespace ...
- asp.net的几种页面传值方式
1."~/x/xx.aspx?id=" + id string id=Request.Params["id"].ToString(); 2.Response.R ...
- 人民币金额大小写Js转换
/** * 数字转中文 * @param dValue * @returns */ function chineseNumber(dValue) { var maxDec = 2; // 验证输入金额 ...
- 虚拟环境--pipenv
1.安装pipenv,这个工具属于python3 升级pip : pip3 install pipenv 2.在项目中创建虚拟环境 3.激活虚拟环境,进入虚拟环境 进入虚拟环境之前: pipenv s ...
- Windows7中Java64位环境变量配置:javac不是内部命令或外部命令,也不是可运行的程序或批处理文件。
按照默认设置安装完JDK(Java Developement Kits)后,一般默认路径为:C:\Program Files\Java\jdk1.8.0_05_x64\文件夹. 然后配置环境变量:&q ...
- 【Mood 19】DailyBuild 2月
2月1号 仿美团loading时小人奔跑动画 HTML5定稿了,为什么原生App世界将被颠覆? -----HTML5一改过去卡顿不兼容的毛病,在硬件升级以及苹果谷歌策略变化的背景下,让自己的优势相对于 ...
- 【起航计划 034】2015 起航计划 Android APIDemo的魔鬼步伐 33 App->Service->Local Service Binding 绑定服务 ServiceConnection Binder
本例和下列Local Service Controller 的Activity代码都定义在LocalServiceActivities.Java 中,作为LocalServiceActivities ...
- Hadoop ->> Name node/Data node和Job tracker/Task tracker的区别
刚好看到关于Name node/Data node和Job tracker/Task tracker的解释,一开始有点混淆,以为说Job tracker必须运行在Name node上,他们俩有依赖或者 ...