extends 抽象方法_关于abstract抽象类的理解

本文介绍了抽象类的概念及其使用方式,包括抽象方法、非抽象方法和成员变量的定义。通过一个具体的例子展示了如何创建抽象类及其实现类,并演示了如何在实现类中重写抽象方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

abstract:

抽象类不能被实例化(new),包含属性、方法、构造器(此构造器不用来初始化实例,只用来被子类调用,其构造函数是提供给子类创建对象的时候初始化父类的属性的),故只能被继承。抽象中用的是继承extends。可以包含非抽象方法和变量,但是若有子类继承该抽象类,调用代码如下:

package com.tt.abstracttest;
//该类为抽象类,定义了成员变量a、抽象方法fun(),非抽象方法fun2(),由于是非抽象的必须带方法体,否则报错。会提示你加body
public abstract class Test {
	int a=2;
	public abstract void fun();
	public int fun2() {
		return 1;
	}
}
package com.tt.abstracttest;
//该类为子类。
public class Test2 extends Test{	
	@Override
	public void fun() {//必须重写父类的抽象方法
		// TODO Auto-generated method stub	
	}
	public static void main(String[] args) {		
		Test2 t=new Test2();//实例化子类对象。其中该类有一个隐含的隐含的无参构造,否则无法创建该对象。父类也有一个无参构造,隐含的。
		int b=t.a;
		System.out.println(b);	
		System.out.println(t.fun2());
	}
}

运行效果如下:

ae9ec268ac506a3bef6c6a9d011544a0.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值