java-abstact关键字的使用

abstract关键字
1.abstract --抽象的;
2. abstract可以用来修饰的结构:类和方法;
3. abstract修饰类:抽象类;

3.1 抽象类不能被实例化
3.2 抽象类中一定有构造器,便于子类实例化对象时调用(即可通过子类继承抽象类,进行对象的实例化操作)
3.3 开发中,都会提供抽象类的子类,让子类对象实例化,完成相关操作;

4.abstract修饰方法:抽象方法;

4.1 抽象方法只有方法的声明,没有方法体;
4.2 包含抽象方法的类一定是一个抽象类,但是抽象类不一定有抽象方法;
4.3 若子类重写了父类中所有的抽象方法,此子类方可进行实例化;
4.4 若子类没有重写父类中的所有的抽象方法,如果需要实例化的话则需要在子类声明中的加入abstract关键字,让其变成抽象类;

package day1025;

import day1025.Test.Student;

abstract class Test {
   String name;
   int age;
  public  Test() {
	  System.out.println("我是无参构造");
  }
  public Test(String name,int age) {
	  this.name=name;
	  this.age=age;
	  System.out.println("我是有参构造");
  }
  //这是普通方法
  public void fangfa(){
	  System.out.println("我是一个程序员");
  }
  //这是一个抽象方法,有抽象方法的类一定是抽象类,但是抽象类不一定有抽象方法
  //抽象方法没有方法体;
  public abstract void ceshi();
  
 public static class Student extends Test{

	//若子类重写了父类中所有的抽象方法,此子类方可进行实例化;
	//若子类没有重写父类中的所有的抽象方法,如果需要实例化的话则需要在子类声明中的加入abstract关键字,让其变成抽象类;
	@Override
	public void ceshi() {
		// TODO Auto-generated method stub
	}
	public Student(String name,int age) {
		super();
		System.out.println("name"+name+"  age"+age);
	}
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值