广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >java中的静态方法可以被继承么
  • 773
分享到

java中的静态方法可以被继承么

java基础java静态方法继承 2018-04-22 18:04:42 773人浏览 猪猪侠
摘要

结论:java中静态属性和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏。原因:静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成,不需要继承机制便可以调用。如果子类里面定义了静态方法和属性,那么这时候父类的静

结论:java中静态属性和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏。

原因:

静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成,不需要继承机制便可以调用。

如果子类里面定义了静态方法和属性,那么这时候父类的静态方法或属性称之为"隐藏"。如果你想要调用父类的静态方法和属性,直接通过父类名.方法变量名完成,至于是否继承一说,子类是有继承静态方法和属性,但是跟实例方法和属性不太一样,存在"隐藏"的这种情况。

多态之所以能够实现依赖于继承、接口和重写、重载(继承和重写最为关键)。有了继承和重写就可以实现父类的引用指向不同子类的对象。

重写的功能是:"重写"后子类的优先级要高于父类的优先级,但是“隐藏”是没有这个优先级之分的。

示例如下:

package com.study.test;
public class A { //父类
	public static String staticStr = "A静态属性";
	public String nonStaticStr = "A非静态属性";
	public static void staticMethod(){
		System.out.println("A静态方法");
	}
	public void nonStaticMethod(){
		System.out.println("A非静态方法");
	}
}
package com.study.test;
public class B extends A{//子类B
	public static String staticStr = "B改写后的静态属性";
	public String nonStaticStr = "B改写后的非静态属性";
	public static void staticMethod(){
		System.out.println("B改写后的静态方法");
	}
}
package com.study.test;
public class C extends A{//子类C继承A中的所有属性和方法
}
package com.study.test;
public class StaticExtendsTest {
	public static void main(String[] args) {
		C c = new C();
		System.out.println(c.nonStaticStr);
		System.out.println(c.staticStr);
		c.staticMethod();//输出的结果都是父类中的非静态属性、静态属性和静态方法,推出静态属性和静态方法可以
		被继承
		System.out.println("-------------------------------");
		A c1 = new C();
		System.out.println(c1.nonStaticStr);
		System.out.println(c1.staticStr);
		c1.staticMethod();//结果同上,输出的结果都是父类中的非静态属性、静态属性和静态方法,推出静态属性和
		静态方法可以被继承
		System.out.println("-------------------------------");
		B b = new B();
		System.out.println(b.nonStaticStr);
		System.out.println(b.staticStr);
		b.staticMethod();
		System.out.println("-------------------------------");
		A b1 = new B();
		System.out.println(b1.nonStaticStr);
		System.out.println(b1.staticStr);
		b1.staticMethod();//结果都是父类的静态方法,说明静态方法不可以被重写,不能实现多态
	}
}

推荐教程:java快速入门

--结束END--

本文标题: java中的静态方法可以被继承么

本文链接: https://www.lsjlt.com/news/4270.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java中的静态方法可以被继承么
    结论:java中静态属性和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏。原因:静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成,不需要继承机制便可以调用。如果子类里面定义了静态方法和属性,那么这时候父类的静...
    99+
    2018-04-22
    java基础 java 静态方法 继承
  • java中的静态属性与静态方法可以被继承么
    结论:java中静态属性和静态方法可以被继承,但是没有被重写(overwrite),而是被隐藏。原因分析:静态方法和属性是属于类的,调用的时候可以直接通过类名.方法名完成,不需要继承机制便可以调用。如果子类里面定义了静态方法和属性,那么这时...
    99+
    2016-02-05
    java 静态属性 静态方法 继承
  • java中的private方法可以继承么
    能继承,但是子类继承过来之后,也不能对它进行直接引用访问,那是父亲的私有部分,只能对父类中的成员开放。一般情况下,父类中会有公用接口get、set之类的方法,可以通过这个方法进行访问。不能直接访问。(在线学习视频教程分享:java视频教程)...
    99+
    2018-09-23
    java入门 java private 方法 继承
  • java接口中静态方法的继承怎么实现
    这篇文章主要讲解了“java接口中静态方法的继承怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java接口中静态方法的继承怎么实现”吧!1、格式public static返...
    99+
    2023-06-30
  • java中枚举类可以被继承吗?
    java 枚举类java中,使用关键字enum来定义枚举类,枚举类是一个特殊的类,大部分功能和普通类是一样的,区别为:● 枚举类继承了java.lang.Enum类,而不是默认的Object类。而java.lang.Enum类实现了java...
    99+
    2019-09-07
    java入门 java
  • java中的抽象类可以被继承吗
    抽象类是可以被继承的。(推荐:java视频教程)抽象类只是一个特殊的类,但是也具备类的特性。如果这个类中有抽象方法,那么这个类必须定义为抽象类。如果这个抽象类继承了别的抽象类,那么可以不覆盖抽象方法。抽象类包含了一个以上的抽象方法,这些方法...
    99+
    2017-09-05
    java 抽象类
  • 使用java怎么在接口中继承静态方法
    本篇文章给大家分享的是有关使用java怎么在接口中继承静态方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java有哪些集合类Java中的集合主要分为四类:1、List列表:...
    99+
    2023-06-14
  • php中静态方法可以访问非静态方法吗
    本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑。php中静态方法可以访问非静态方法吗如果我们调用了非静态方法会怎么样呢?首先做测试。<php class test{ function test() {...
    99+
    2021-05-29
    php
  • jquery中可不可以添加静态方法
    这篇文章主要介绍“jquery中可不可以添加静态方法”,在日常操作中,相信很多人在jquery中可不可以添加静态方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jquery...
    99+
    2022-10-19
  • java中什么是静态方法和非静态方法
    本篇文章为大家展示了java中什么是静态方法和非静态方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。常用的java框架有哪些1.SpringMVC,Spring Web MVC是一种基于Java的...
    99+
    2023-06-14
  • java中的私有变量是否可以继承
    Java 父类中权限为private的私有变量,子类对象继承后,在其内存中其实也有该变量存在,只是不能直接引用该变量,而是需要通过调用父类public或protected的set或get等方法使用该变量。父类中的private变量在不同子类...
    99+
    2017-02-16
    java入门 java 私有变量 是否 继承
  • java中静态方法与非静态方法的区别
    静态方法与静态成员变量一样,属于类本身,在类装载的时候被装载到内存中,不自动进行销毁,会一直存在内存中,直到JVM关闭。非静态方法又称实例化方法,属于实例对象,实例化之后才会分配内存,必须通过类的实例来引用,当实例对象被JVM回收之后,也跟...
    99+
    2018-06-09
    java基础 java 静态方法 非静态方法 区别
  • Java 中的静态字段和静态方法
    目录一、静态变量静态变量声明静态变量测试二、静态方法静态方法测试静态方法是如何工作的为什么 Java Main 方法是静态方法三、静态常量四、总结先看看下面这一串代码: public...
    99+
    2022-11-13
  • Java中的静态字段和静态方法怎么用
    这篇文章主要介绍了Java中的静态字段和静态方法怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。先看看下面这一串代码:public class Mai...
    99+
    2023-06-29
  • Java中一个类可以继承多个类吗?揭秘多重继承的秘密!
    大家好,我是你们的小米!今天,我们来聊聊Java中一个备受争议的话题——"一个类可以继承多个类吗?"这是一个让许多Java初学者困惑的问题,也是一个常常被问及的热门话题。那么,到底Java中是否允许一个类继承多个类呢?让我们一起揭开这个谜...
    99+
    2023-09-14
    java python 开发语言
  • java中的静态方法是什么
    本篇内容主要讲解“java中的静态方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中的静态方法是什么”吧!在java中,静态方法指被static修饰的成员方法。静态方法不需要通过...
    99+
    2023-06-20
  • PHP中什么是静态以及静态属性和静态方法是什么意思
    本篇内容主要讲解“PHP中什么是静态以及静态属性和静态方法是什么意思”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP中什么是静态以及静态属性和静态方法是什么意思”吧!静态是什么我们之前讲到,...
    99+
    2023-06-20
  • JAVA继承中子父类的构造方法
    首先,构造方法本身会有一个隐式的无参构造(默认):①不写构造方法,类中的第一行代码事实上有一个默认的无参构造(系统会隐式为你写好)public class Student { private String name; // ...
    99+
    2017-07-16
    java教程 继承 构造方法
  • Java中的static关键字和静态变量、静态方法
    本篇内容介绍了“Java中的static关键字和静态变量、静态方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有...
    99+
    2022-10-19
  • 怎么在java中使用静态方法
    本篇文章为大家展示了怎么在java中使用静态方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重复的;2、Queue队列...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作