文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

在java中使用static时需要注意哪些问题

2023-06-06 16:45

关注

在java中使用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);}public static String getCountry() {return country;}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时需要注意哪些问题的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯