Java中接口静态方法和静态成员的继承的思考

前一章,回答了java中的父类中的静态成结论是,不可继承,不可重写
本章也给出java中接口的静态成员的继承性的思考
答案:接口中的静态成员,无论是在其实现的类,还是在其子接口当中,都是不可以被继承的,也不可以被重写,即使是一样的形式,那也属于不同的内存块,属于不同的类/接口
静态成员只会在载入类的时候分配一次内存,之后就不会更改

接口文件

//关于接口中的静态方法和静态变量的继承
//本文探讨,接口如果被类实现或者是被接口继承,它的静态方法和静态数据能否被继承的问题
public interface T 
{
public static final int a=0;  //接口中的数据必须是常量
public static void cc()
{
	System.out.println("我是父接口中的静态变量!");
}
public abstract void can();
}

实现类文件

public class S implements T
{
	   public static final int a=1;
		public void can()
		{
			System.out.println("我在子类当中实现了父接口的can方法!");
		}
		public static void cc()
		{
			System.out.println("我是实现类里面的静态方法!");
		}
}

主类文件

public class Q {

	public static void main(String[] args) 
	{
		
      S p=new S();
      p.can();  //实现父类当中的抽象方法
      p.cc();
      T.cc();  //父类中的静态方法
      System.out.println("父接口中的静态变量a:"+T.a);
      System.out.println("实现类中的静态变量a:"+p.a);
	}

}

运行结果
结果

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值