java第5周学习内容

在本周,我学习了java类的继承,抽象类,接口以及枚举,先来介绍一下它们各自的定义吧:

继承:在Java中,一个类可以通过继承另一个类来获得其属性和行为。被继承的类称为父类或超类,继承的类称为子类或派生类。在继承中,子类继承父类是要靠extends实现的,子类可以继承父类的属性和方法,并且可以添加自己的属性和方法。

抽象类:抽象类是不能被实例化的类,它可以包含抽象方法和非抽象方法。抽象方法是只有声明而没有方法体的方法,必须在子类中实现。抽象类可以提供一些通用的方法和属性,让子类去实现具体的细节。

接口:接口是一种抽象的类型,它只包含方法的声明,没有方法的实现。类通过实现接口来实现其中定义的方法。一个类可以实现多个接口,这样它就可以拥有多个接口中定义的方法。

枚举:枚举是一种特殊的数据类型,它包含固定的常量列表。枚举常量在枚举类型中是唯一的,可以用来表示一组固定的值。枚举常量通常用于表示一组相关的常量,比如星期几、颜色等。

以下是子类继承父类的代码:

//FileName:App8_2.java
class LJA{
	private String name;
	private int age;
	public LJA() {
		System.out.println("调用了Person类的无参构造方法");
	}
	public LJA(String name,int age) {
		System.out.println("调用了Person类的有参构造方法");
		this.name=name;
		this.age=age;
	}
	public void show() {
		System.out.println("姓名:"+name+"  年龄"+age);
	}
}
class LJ extends LJA{
	private String de;
	public LJ() {
		System.out.println("调用了学生类的无参构造方法Student()");
	}
	public LJ(String name,int age,String d) {
		super(name,age);
		de=d;
		System.out.println("我是"+de+"x的学生");
		System.out.println("调用了学生类的有参构造方法Student(name,age,dep)");
	}
}
public class App8_2{
	public static void main(String[]args) {
		LJ s1=new LJ();
		LJ s2=new LJ("李明",17,"计算机系");
		s1.show();
		s2.show();
	}
}

        为了声明一个接口,我们使用interface这个关键字,在接口中的所有方法都必须只声明方法标识,而不要去声明具体的方法体,因为具体的方法体的实现是由继承该接口的类来去实现的,因此,接口并不用管具体的实现。接口中的属性默认为Public Static Final.一个类实现这个接口必须实现这个接口中定义的所有的抽象方法。

如下所示:

//FileName:App8_12.java
import java.text.DecimalFormat;
interface IShape{
	static final double pi=3.14;
	abstract double s();
	abstract double c();
	}
class yuan2 implements IShape{
	private double rr;
	public yuan2(double r) {
		rr=r;
	}public double s() {
		return pi*rr*rr;
	}
	public double c() {
		return 2*pi*rr;
	}
}
class jv2 implements IShape{
	private double ww;
	private double hh;
	public jv2(double ww,double hh) {
		this.ww=ww;
		this.hh=hh;
	}
	public double s() {
		return ww*hh;
	}
	public double c() {
		return 2*(ww+hh);
	}
}
public class App8_12{
	public static void main(String[]args) {
		yuan2 yu=new yuan2(5.0);
		DecimalFormat df=new DecimalFormat("0.000");
		System.out.print("圆面积="+df.format(yu.s()));
		System.out.println("; 圆周长="+df.format(yu.c()));
		jv2 j=new jv2(5.5,6.5);
		System.out.print("矩形面积="+df.format(j.s()));
		System.out.println("; 矩形周长="+df.format(j.c()));
	}
}

综上所述,Java中的继承、抽象类、接口和枚举都是面向对象编程的重要概念,它们分别可以用来实现类之间的继承、多态和常量定义等功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值