abstract class A { abstract void b(); abstract int c(int i, int j); } 方法b 、c就是所谓不含逻辑的方法class B { void d() { //可以为空 } } 方法d就是含有逻辑的方法 两个好好比较下区别吧,尤其是注意 {} 另外想说下interface类中所有的方法都必须是抽象的,所以不需要abstract来修饰
abstract class abc {public abstract void disp(); public abstract void show();public void display() { System.out.println("hi i'm display method in abc class"); } } abstract class pqr extends abc { public void disp() { System.out.println("hi i'm disp method get completed in pqr class"); } } public class absrtactclass extends pqr { public void show() { System.out.println("hi i'm show method get completed in str class"); }public static void main (String [] args ) { absrtactclass c = new absrtactclass(); c.disp(); c.show(); c.display(); } }
abstract void test();//这是典型的abstract 方法void test(){
//很多代码,也就是逻辑!
}
abstract 方法 只定义 方法的声明 .为客户端程序员调用提供方便. 平行开发.
这里的任何逻辑是指的方法的实现.
上面所说的“任何逻辑”是指对于用abstract申明的一个方法没有方法体,这个方法只是申明了一个方法名称 而它的实现的细节需要由继承它的子类去实现
子类重写,如:public void haha(){ System.out.println() } 可见它有功能,当然就有逻辑了呀!怎么说呢?每一本书都各说各的,我们不必刻意的非要明白一两个词,如果有问题可以找一两本不同的Java书的相关节来看看。
含有至少1个虚方法的类必需定义为abstract类,只能靠子类来实现咯。
interface Ani
{
Void ant()
{//没有代码}
}
还说了和INTERFACE的区别
但是他们使用的是完全不同的send() 和receive()所以在父辈中应该定义这个两个类成为abstract send() 和 abstract receive()如果有不对的地方请指教
abstract void b();
abstract int c(int i, int j);
}
方法b 、c就是所谓不含逻辑的方法class B {
void d() {
//可以为空
}
}
方法d就是含有逻辑的方法
两个好好比较下区别吧,尤其是注意 {}
另外想说下interface类中所有的方法都必须是抽象的,所以不需要abstract来修饰
{public abstract void disp();
public abstract void show();public void display()
{
System.out.println("hi i'm display method in abc class");
}
}
abstract class pqr extends abc
{
public void disp()
{
System.out.println("hi i'm disp method get completed in pqr class");
}
}
public class absrtactclass extends pqr
{
public void show()
{
System.out.println("hi i'm show method get completed in str class");
}public static void main (String [] args )
{
absrtactclass c = new absrtactclass();
c.disp();
c.show();
c.display();
}
}