0 0

static方法能够继承吗3

static方法能够继承吗,求解答,谢谢
OO 
2011年8月23日 15:21

7个答案 按时间排序 按投票排序

0 0

采纳的答案

可以继承 但是假如本类是final类,则不能被继承

2011年8月23日 15:37
0 0

class Parent {
	public static void say() {
		System.out.println("hello");
	}
}

class Son extends Parent {
}

public class Test {   
	public static void main(String[] args) {  
		Son.say();
	}  
}



如上代码,表名子类继承了父类
-------------------------

class Parent {
	public static void say() {
		System.out.println("parent");
	}
}

class Son extends Parent {
	public static void say() {
		System.out.println("son");
	}
}

public class Test {   
	public static void main(String[] args) {  
		Parent p = new Son();
		p.say();
	}  
}


如上代码,表明static方法不能被重写

2011年8月23日 18:47
0 0

static方法可以被继承,如父类定义一个方法,子类的实例也可以调用该方法


但是,需要注意的是,静态方法不能被重写,静态方法没有多态的概念,如果子类定义了跟父类一样签名的静态方法,那么只是对父类方法的隐藏

2011年8月23日 18:44
0 0

引用

You can write a new instance method in the subclass that has the same signature as the one in the superclass, thus overriding it.
You can write a new static method in the subclass that has the same signature as the one in the superclass, thus hiding it.


静态方法是不会继承的,静态方法属于类方法,和类紧密关联的,如果子类定义了同名的静态方法,将会隐藏。但还是可以通过类名来访问的。

2011年8月23日 16:16
0 0

static方法和实例无关,只和对象相关,不能被继承。
static方法的调用只需要使用类限定名即可,如Integer.parseInt()。
非static方法,如果调用需要先new 对象,然后通过对象调用。

class A
{
    public static void f()
    {
        System.out.println("A.f()");
    }
}

class B extends A
{
    public static void f()
    {
        System.out.println("B.f()");
    }
    
    public static void main(String[] args)
    {
        A a = new B();
        B b = new B();
        B c = (B)a;
        
        A.f();
        B.f();
        a.f();
        b.f();
        c.f();
    }
}


结果:
A.f()
B.f()
A.f()
B.f()
B.f()

2011年8月23日 16:00
0 0

不可以继承。

2011年8月23日 15:35
0 0

可以啊。在一般的类里面可以,在static类中不行

2011年8月23日 15:24

相关推荐

    day01【复习回顾、静态、继承、抽象类】.pdf

    - [ ] 能够理解static关键字 - [ ] 能够写出类的继承格式 - [ ] 能够说出继承的特点 - [ ] 能够说出子类调用父类的成员特点 - [ ] 够说出方法重写的概念 - [ ] 能够说出this可以解决的问题 - [ ] 能够说出super可以...

    重载与覆写/重写的区别

    简单说,就是同样的一个方法能够根据输入数据的不同,做出不同的处理,  即方法的重载——有不同的参数列表(静态多态性)  而当子类继承自父类的相同方法,输入数据一样,但要做出有别于父类的响应时,你就要...

    java8源码-java8-character:java8新特性

    2.接口中的static方法只能够被接口本身调用: 接口名.静态方法名(...) 3.接口的static方法不能被子接口继承 4.接口的static方法不能给被实现类重写及直接调用 public interface MyInterface { //接口中的方法默认使用...

    Java中抽象类和接口的区别

    在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的...

    Java学习笔记---15.面向对象编程10-Java中final关键字,抽象类与接口

    好啊好啊 抽象类与接口是Java中最重要部分之一,这里用较大的篇幅来做下这部分的笔记. 1. final关键字 ... // 如果实现了(继承)C接口,则在子类中就必须覆写全部的抽象方法 public void printA() { ...

    1.5:接口和抽象类的区别.pdf

    2.在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的...

    动物招领所系统

    6:动物保护者的设计(使用static方法,Math.random()类):动物保护者有一方法discoverAnimal()能够发现动物.发现的过程如下:每次系统随机的产生一个数,如果是1,提示用户输入猫的信息,并使用这些信息创建一个猫,如果...

    Java基础 接口.pdf

    一个类通过继承接口的方式,从而来继承接口的抽象方法。 Java接口主要有以下特点 1、接口中的所有方法都是抽象的,不能有具体实现。 2、接口定义的常量默认是 public static final 的。 3、一个类可以实现多个接口,...

    Java测试题2答案

    欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ? B A ArrayList myList=new Object(); B List myList=new ArrayList(); C ArrayList myList=new List(); D List ...

    java经典面试2010集锦100题(不看你后悔)

    C) 子类继承父类,如果父类中只有一个构造方法并且有参数,那么在子类的构造方法中必须先用super调用父类构造方法并传参。 D) 以上说法都不正确。 题目11:d 程序如下: class Test { private int day; public int...

    Java笔试题大汇总

    A、父类不能替代子类 B、子类能够替代父类 C、子类继承父类 D、父类包含子类 5 通过继承实现代码复用: Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。继承而得到的类称为子类,被继承的类...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    其中 objectReference 是对象的一个引用,它可以是一个已生成的对象,也可以是能够生成对 象引用的表达式。 例如:我们用 Point p=newPoint();生成了类 Point 的对象 p 后,可以用 p.x,p.y 来访问该点的 x、y 坐标,...

    编程技能训练与等级考试辅导:方法重写与重载.pptx

    子类中的实例方法(非static)和父类中的实例方法具有相同的名称、参数列表和返回类型,就称子类的方法覆盖父类的方法。 ;5;6;示例:分析下列两程序,重写Or重载?;方法重写发生在具有继承关系的不同类中;方法重载可以...

    java 面试题 总结

    派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即...

    超级有影响力霸气的Java面试题大全文档

    派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装:  封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,...

    net学习笔记及其他代码应用

    声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其...

    \java超强笔记(超级经典)

    @Documented 用来限定注释的信息是否能够进行文档化 自定义注释: 在自定义注释时,要用元注释来进行描述。 如: import java.lang.annotation.*; @Target({ElementType.METHOD}) @...

    AIC的Java课程1-6章

     弄清构造函数和终结方法在继承层次结构中的调用顺序,强调子类必须调用超类的构造函数分配空间和初始化超类数据。  掌握方法重写(override)的基本要求。  理解和使用关键字final。  理解包的...

    java8源码-StopInterview:没有什么不是一次面试搞不定的,如果有那就两次

    接口能够多实现,而抽象类只能单独被继承,其本质就是,一个类能继承多个接口,而只能继承一个抽象类。 方法上,抽象类的方法可以用abstract 和public或者protect修饰。而接口默认为public abttact 修饰。 抽象类的...

    计算机(专升本)Java程序设计复习资料.doc

    一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实 现,否则该类仍然需要被声明为抽象类。 接口比抽象类更加抽象,因为抽象类中可以定义构造器,可以有抽象方法和具体方法, 而接口中...

Global site tag (gtag.js) - Google Analytics