class A
{
//如果写成 void f();
//需要定义为抽象类
//否则,给它加上方法体,如下
public void f(){};
// 只给出方法头,不给出方法的内部实现代码
// 这样的方法称为抽象方法
// 比如 void f();
// 当然 abstract public void f(); 一定是抽想方法
// 加了方法体就不是抽象方法 虽然它里面没有具体代码 默认空代码
}
//抽象类
abstract class B
{
abstract public void g();
//方法体
//虽然不会报错,但是没什么具体意义
void h()
{
System.out.println("Test");
}
//构造方法
B(){}
}
//凡是有抽象方法的类
//都需要声明为抽象类
//class C //error
abstract class C
{
abstract public void i();
//凡是没有方法体的方法必须声明为抽象方法
//否则 必须使用加上方法体
//void k(); //error
// abstract void k(); //right
//void k(){} //right
}
//抽象类中不一定含有抽象方法
abstract class D
{
void h()
{
System.out.println("Test");
}
}
//含抽象方法的一定是抽象类
// 写成 class E 会报错
// 必须添上 abstract
abstract class E
{
abstract public void l();
}
class TestAbsClass_1
{
public static void main(String[] args)
{
System.out.println("加油,一年两跳!");
//B bb = new B(); //抽象类无法实例化方法
//bb.h(); //调用抽象类的具体方法也是无稽之谈
}
}
{
//如果写成 void f();
//需要定义为抽象类
//否则,给它加上方法体,如下
public void f(){};
// 只给出方法头,不给出方法的内部实现代码
// 这样的方法称为抽象方法
// 比如 void f();
// 当然 abstract public void f(); 一定是抽想方法
// 加了方法体就不是抽象方法 虽然它里面没有具体代码 默认空代码
}
//抽象类
abstract class B
{
abstract public void g();
//方法体
//虽然不会报错,但是没什么具体意义
void h()
{
System.out.println("Test");
}
//构造方法
B(){}
}
//凡是有抽象方法的类
//都需要声明为抽象类
//class C //error
abstract class C
{
abstract public void i();
//凡是没有方法体的方法必须声明为抽象方法
//否则 必须使用加上方法体
//void k(); //error
// abstract void k(); //right
//void k(){} //right
}
//抽象类中不一定含有抽象方法
abstract class D
{
void h()
{
System.out.println("Test");
}
}
//含抽象方法的一定是抽象类
// 写成 class E 会报错
// 必须添上 abstract
abstract class E
{
abstract public void l();
}
class TestAbsClass_1
{
public static void main(String[] args)
{
System.out.println("加油,一年两跳!");
//B bb = new B(); //抽象类无法实例化方法
//bb.h(); //调用抽象类的具体方法也是无稽之谈
}
}