大家好我是java初学者,最近遇到一些问题希望高人指点。
关于abstract修饰符 
父类中的某些方法不包含任何逻辑 ,并且需要由子类重写。在这种情况下应该使用关键字abstract来声明父类的方法。
上面的“任何逻辑“是指什么? 

解决方案 »

  1.   


    abstract void test();//这是典型的abstract 方法void test(){
       //很多代码,也就是逻辑!
    }
      

  2.   

    任何逻辑“是指什么?  
    abstract 方法 只定义 方法的声明  .为客户端程序员调用提供方便. 平行开发.
    这里的任何逻辑是指的方法的实现.
      

  3.   


    上面所说的“任何逻辑”是指对于用abstract申明的一个方法没有方法体,这个方法只是申明了一个方法名称 而它的实现的细节需要由继承它的子类去实现 
      

  4.   

    谁能给几个真正需要使用到抽象类的例子看看,总觉得太abstract的东西,好像实际用得很少。
      

  5.   

    父类中的抽象方法,如:abstract void haha();是没有方法的主体的,也就是没有什么功能实现。
    子类重写,如:public void haha(){ System.out.println() } 可见它有功能,当然就有逻辑了呀!怎么说呢?每一本书都各说各的,我们不必刻意的非要明白一两个词,如果有问题可以找一两本不同的Java书的相关节来看看。
      

  6.   

    “父类中的某些方法不包含任何逻辑”,是说这些方法没有任何实现,甚至不能是没有实现代码的方法,只能是abstract方法,
    含有至少1个虚方法的类必需定义为abstract类,只能靠子类来实现咯。
      

  7.   

    是指方法中没有任何 实现也就是花括号中没有任何代码
    interface Ani
    {
         Void ant()
         {//没有代码}
    }
      

  8.   

    呵呵   去看看 《JAVA编程思想》吧  里面说的比较好  
                     还说了和INTERFACE的区别
      

  9.   

    实例的话,不知道这个对不对。 创建TCP和UDP类的时候都继承一个父辈类CONNECTION中的地址和socket
    但是他们使用的是完全不同的send() 和receive()所以在父辈中应该定义这个两个类成为abstract send() 和 abstract receive()如果有不对的地方请指教
      

  10.   

    abstract class A {
      abstract void b();
      abstract int c(int i, int j);
    }
    方法b 、c就是所谓不含逻辑的方法class B {
      void d() {
        //可以为空
      }
    }
    方法d就是含有逻辑的方法
    两个好好比较下区别吧,尤其是注意 {} 
    另外想说下interface类中所有的方法都必须是抽象的,所以不需要abstract来修饰
      

  11.   

     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();
    }
    }