码迷,mamicode.com
首页 > 编程语言 > 详细

java继承示例

时间:2015-12-21 12:09:11      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

package day07;
class Fu
{
  int num = 5;    
}
class Zi extends Fu
{
      int num =7;
      void show()
      {
          int num =9;
          System.out.println(num);
          
      }
}
public class Extends {
     public static void main(String[] args) {
        Zi zi = new Zi();
        zi.show();
    }

}

9//自己有就不去找
package day07;
class Fu
{
  int num = 5;    
}
class Zi extends Fu
{
      int num =7;
      void show()
      {
          int num =9;
          System.out.println(this.num);
          
      }
}
public class Extends {
     public static void main(String[] args) {
        Zi zi = new Zi();
        zi.show();
    }

}

7

 
package day07;
class Fu
{
  int num = 5;    
}
class Zi extends Fu
{
      int num =7;
      void show()
      {
          int num =9;
          System.out.println(super.num);
          
      }
}
public class Extends {
     public static void main(String[] args) {
        Zi zi = new Zi();
        zi.show();
    }

}

5

 

super代表的是父类,this代表的是本类对象的引用,super代表父类所属空间

注意:子类父类中通常不会出现同名属性,父类中既然已经定义了num属性,子类就没有必要定义该属性

技术分享子类无法覆父类中的show方法,因为类型不一样

 

package day07;
class Fu
{
public static void show()
  {
      
      System.out.println("run show1");
  }
public void show2()
{
    System.out.println("haha1");    
}
}
class Zi extends Fu
{
   
  public static void  show()
      {
          
          System.out.println("run show2");
          
      }
  public void show2()
  {
      System.out.println("haha2");
      
  }
}
public class Extends {
     public static void main(String[] args) {
        Fu f = new Zi();//注意这个地方对象的创建,以及结果,静态方法以及成员变量和普通方法的区别
        f.show();
        f.show2();
    }

}

run show1
haha2



对比:

package day07;
class Fu
{
public static void show()
  {
      
      System.out.println("run show1");
  }
public void show2()
{
    System.out.println("haha1");    
}
}
class Zi extends Fu
{
   
  public static void  show()
      {
          
          System.out.println("run show2");
          
      }
  public void show2()
  {
      System.out.println("haha2");
      
  }
}
public class Extends {
     public static void main(String[] args) {
        Zi z = new Zi();//注意这个地方对象的创建,以及结果,静态方法以及成员变量和普通方法的区别
        z.show();
        z.show2();
    }

}

run show2
haha2

 

覆盖的时候注意:

    1、子类覆盖父类的时候保证覆盖方法的权限大于等于被覆盖函数的权限

    2、覆盖方法有静态修士的时候,静态只能覆盖静态,或者被静态覆盖

    

java继承示例

标签:

原文地址:http://www.cnblogs.com/mmlovejj/p/5062746.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!