回 帖 发 新 帖 刷新版面

主题:请问这两个有什么不同

class test
{
        public int devide(int x,int y)
        {
             int result = x/y;
             return result;
        }
}
class teston 
{
         public static void main(String[] args)
         {
             try
              {
                new test().devide(3,0);
               }catch(Exception e)
               {
                System.out.println("erro");
               }
                System.out.println("my is sea");
         }
}

class test
{
        public int devide(int x,int y)
        {
             int result = x/y;
             return result;
        }
}
class teston extends test
{
         public static void main(String[] args)
         {
             try
              {
                new test().devide(3,0);
               }catch(Exception e)
               {
                System.out.println("erro");
               }
                System.out.println("my is sea");
         }
}

“extends test”是不是有没有都无所谓;结果都一样;

回复列表 (共2个回复)

沙发

这个小例子继承不继承确实不影响结果
但是继承的那个例子把test中的属性跟方法都继承过来 属于自己的属性和方法
可以直接拿来使用,但是没有继承的那个必须要调用才可以使用.继承难个例子可以象下面这样改  但是没有继承的那个就不可以.
class test
{
        public int devide(int x,int y)
        {
             int result = x/y;
             return result;
        }
}
class teston extends test
{
         public static void main(String[] args)
         {
             new teston().run(); 
         }
         public void run()
    {
        try
              {
                devide(3,0);
               }catch(Exception e)
               {
                System.out.println("erro");
               }
                System.out.println("my is sea");
    }
}

板凳

在本例子的两个程序中,都调用了test()类的实例方法,还不能很明确地区分出继承调用与非继承调用,所以会使得你产生两者一样的错觉。
   其实总结一下,主要有以下区别:
(1)有继承关系的类,子类拥有父类的属性和方法(私有属性和私有方法除外),而没有继承关系的类之间却没有这种关系。
(2)有继承关系的类,子类可以再扩展父类中没有的方法,并且这些方法可以直接调用父类中的属性和方法(私有属性和私有方法除外)。   
   

我来回复

您尚未登录,请登录后再回复。点此登录或注册