时间:2021-05-19
在关键词的使用上,我们已经对static方法有所了解,为了防止在使用时出现一些不必要的错误,了解它的使用范围是每个人都要掌握的。本篇把static的使用注意点分为两个方面,一个是访问的范围,另一个是有关方法调用的注意,下面我们一起来看看完整的static使用注意点吧。
1、使用static方法的时候,只能访问static声明的属性和方法,而非static声明的属性和方法是不能访问的。
package com.jk.ref;class People{String name;private static String country="中国";public People(String name){this.name=name;}public void tell(){System.out.println("name:"+name+" "+"country:"+country);}/** * @return the country */public static String getCountry() {return country;}/** * @param country the country to set */public static void setCountry(String country) {People.country = country;}}public class StaticDemo01 { public static void main(String[] args) {// TODO Auto-generated method stubPeople.setCountry("shanghai");People ps1=new People("zhangsan");//People.country="上海";ps1.tell();People ps2=new People("lisi");// ps2.country="上海";ps2.tell();People ps3=new People("wangwu");// ps3.country="上海";ps3.tell();}}2、父类引用只能调父类和子类重写方法,父子同名方法不会覆盖而是遮蔽。
public class TestMain {public static void main(String[] args) {Super sup = new Sub(); //封装(向上造型)sup.m1(); //父类引用无法调子类未重写方法,输出mi in Supersup.m2();//调用子类方法m2,继承先构建父类方法,方法名相同覆盖(重写)方法,输出m2 in SubSub sub = (Sub)sup; //拆箱(向下造型)sub.m1(); //调用子类静态方法m1,先构建父类方法,方法名相同方法名相同遮蔽方法,输出m2 in Subsub.m2();//调用子类方法m2,继承先构建父类方法,方法名相同覆盖(重写)方法,输出m2 in Sub}}class Super{ //父类public static void m1() { //父类静态方法System.out.println(“m1 in Super”);}public void m2() { //父类方法System.out.println(“m2 in Super”);}}class Sub extends Super{ //子类public static void m1() { //子类静态方法System.out.println(“m1 in Sub”);}public void m2() { //子类方法System.out.println(“m2 in Sub”);}}内容扩展:
深度总结
引用一位网友的话,说的非常好,如果别人问你static的作用;如果你说静态修饰 类的属性 和 类的方法 别人认为你是合格的;如果是说 可以构成 静态代码块,那别人认为你还可以; 如果你说可以构成 静态内部类, 那别人认为你不错;如果你说了静态导包,那别人认为你很OK;
那我们就先在这几方面一一对static进行总结;然后说一些模糊的地方,以及一些面试中容易问道的地方;
static方法
static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。并且由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。
到此这篇关于java中static的用法及注意点的文章就介绍到这了,更多相关java中使用static的注意点内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
static方法java8中为接口新增了一项功能:定义一个或者更多个静态方法。用法和普通的static方法一样。接口中可以定义static方法,可通过接口名称.
本文实例讲述了java中static关键字用法,分享给大家供大家参考。具体分析如下:一、介绍:1、在类中,用static声明的成员变量为静态成员变量,它为该类的
static修饰符是java里面非常常用的一个东西,用法也非常多。然而,在kotlin里竟然没有这个东西!那该如何替代呢?本文就总结了下java里面static
想了解Java中static关键字的作用和用法详细介绍,请点击此处了解详情。在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条,分别是:
java关键字static详解一、static代表着什么在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个“伪全局”的概念,在Java中