Java基础习题(四)

九、抽象类

一个类一个.java文件

1.设计一个抽象类Person和它的三个子类Student、Teacher和Worker,要求如下:
Person抽象类中包括name、age两个属性,可用带参数的构造方法为属性赋值;还有一个抽象方法getInfo(),该方法返回一个人的个人信息,返回String类型的结果。
Student、Teacher和Worker三个子类中通过实现Person抽象类中的getInfo()抽象方法,获取各自的个人信息。
在测试类中分别创建Student、Teacher和Worker三个子类的对象,并输出这些对象的个人信息。

//抽象父类Person
abstract class Person {
   
	String name;
	int age;
	public Person(String name,int age) {
   
		this.name = name;
		this.age = age;
	}
	public Person() {
   }		//构造方法
	public abstract String getInfo();		//抽象方法
}
//子类Student 继承 父类Person
public class Student extends Person{
   
	public Student(String name,int age) {
   
		super(name,age);
	}
	public String getInfo() {
   
		return "student\nname:"+name+"\nage:"+age;
	}
}
//子类Teacher 继承 父类Person
public class Teacher extends Person{
   
	public Teacher(String name,int age) {
   
		super(name,age);
	}
	public String getInfo() {
   
		return "teacher\nname:"+name+"\nage:"+age;
	}
}
//子类Worker 继承 父类Person
public class Worker extends Person {
   
	public Worker(String name,int age) {
   
		super(name,age);
	}
	public String getInfo() {
   
		return "worker\nname:"+name+"\nage:"+age;
	}
}
//测试类
public class PersonTest {
   
	public static void main(String[] args) {
   
		Student student1 = new Student("Ammliy",19);
		System.out.println(student1.getInfo());
		
		Teacher teacher1 = new Teacher("Lin",27);
		System.out.println(teacher1.getInfo());
		
		Worker worker1 = new Worker("Jack",51);
		System.out.println(worker1.getInfo());
	}
}

2.设计一个抽象类Shape和它的两个子类Square和Circle,要求如下:
Shape抽象类中有一个抽象方法getArea(),该方法返回一个形状的面积,返回double类型的结果。
Square和Circle中实现了Shape抽象类中的getArea()抽象方法,分别求正方形和圆形的面积并返回。
在测试类中创建Square和Circle对象,计算边长为2的正方形面积和半径为3的圆形面积。

//抽象父类Shape
abstract class Shape {
   
	int width;
	int r;
	abstract double getArea();
}
//子类Circle 继承 父类Shape
public class Circle extends Shape{
   
	public double getArea() {
   
		return r*r*3.14;
	}
}
//子类Square 继承 父类Shape
public class Square extends Shape{
   
	public double getArea() {
   
		return width*width;
	}
}
//测试类
public class ShapeTest {
   
	public static void main(String[] args) {
   
		Square s = new Square();
		s.width = 2;
		System.out.println("边长为2的正方形面积:"+s.getArea());
		Circle c = new Circle();
		c.r = 3;
		System.out.println("半径为3的圆形面积:"+c.getArea());
	}
}
十、接口

定义接口:interface
实现接口:implements

基础知识点:接口里只能包含abstract抽象方法、final常量、default默认方法和

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值