Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【说站】java类中的两种成员访问

【说站】java类中的两种成员访问

作者头像
很酷的站长
发布于 2022-11-24 07:41:44
发布于 2022-11-24 07:41:44
75100
代码可运行
举报
运行总次数:0
代码可运行

java类中的两种成员访问

1、静态成员

静态成员属于类,访问时需要类访问。

静态成员开放空间是在这类内存首次加载时开放的。

2、非静态成员

非静态成员属于对象,访问时需要使用对象。

当对象被实例化时,非静态成员开放空间。

在静态方法中,非静态成员不能直接访问。

采用非静态方法,可直接访问静态成员。

3、实例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Person {
    String name;
    static int a;
    
    void eat() {}
    static void sleep() {}
}
class Program {
    public static void main(String[] args) {
        Person xiaoming = new Person();
        // 访问非静态成员
        xiaoming.name = "xiaoming";
        xiaoming.eat();
        // 访问静态成员
        Person.a = 10;
        Person.sleep();
        // 注:
        // 访问静态的成员, 也可以使用对象来访问, 但是会有警告
        // 推荐使用类来访问静态成员
    }
}

以上就是java类中的两种成员访问,有些小伙伴在学习完后,容易把两个知识点进行混淆,其实只要通过是否有关键字修饰就能判断了。大家学会后可以就成员访问的问题进行深入研究。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java教程分享Java面向对象与面向过程[通俗易懂]
Java教程分享Java面向对象与面向过程,面向对象: 是一种看待问题, 解决问题的思维方式, 着眼点在于找到一个能够帮助解决问题的实体, 然后委托这个实体来解决问题
全栈程序员站长
2022/09/15
2160
java静态内部类和成员内部类的区别
如果你不需要内部类对象与其外围类对象之间有联系,那你可以将内部类声明为static。这通常称为嵌套类(nested class)。Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。想要理解static应用于内部类时的含义,你就必须记住,普通的内部类对象隐含地保存了一个引用,指向创建它的外围类对象。然而,当内部类是static的时,就不是这样了。嵌套类意味着:
IT工作者
2022/05/09
1K0
JavaSE(三)之static、final、abstract修饰符
一、static修饰符 1.1、static变量         在类中,使用static修饰的成员变量,就是静态变量,反之为非静态变量。         静态变量和非静态变量的区别  静态变量属于类的,"可以"使用类名来访问,非静态变量是属于对象的,"必须"使用对象来访问. public class Student{ private static int age; private double score;
用户1195962
2018/01/18
6860
【面试题精讲】Java静态方法为什么不能调用非静态成员?
在 Java 中,静态方法(static method)是属于类的方法,而不是属于对象的方法。它可以通过类名直接调用,无需创建对象实例。静态方法通常用来执行与类相关的操作,例如计算、转换等。
程序员朱永胜
2023/10/05
6810
JAVA- 面向对象编程(上)
面向对象:注重的是对象,也就是参与过程所涉及到的主体。是通过逻辑将功能实现连接起来 面向过程: 1.把冰箱打开 2.把大象放入 3冰箱关起来
ImAileen
2024/01/18
1350
JAVA- 面向对象编程(上)
【 JavaSE 】 类和对象
作用:this表示当前对象引用(注意不是当前对象),可以借助 this 来访问对象的字段和方法
用户9645905
2022/11/30
4640
【 JavaSE 】 类和对象
Java面试集合(五)
在Java中的三大特性中存在一种为继承,继承究竟是用来解决什么问题的呢?在我们写代码的时候,我们会在一些类中使用相同的属性和方法,如两个不同的人(类),共同都有年龄,身高,体重等。
达达前端
2019/07/03
3850
Java面试集合(五)
Java中static作用及用法详解「建议收藏」
static是静态修饰符,什么叫静态修饰符呢?大家都知道,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。这样做有什么意义呢?在Java程序里面,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象的引用才能够访问这些成员,但是用static修饰的成员可以通过类名加“.”进行直接访问。
全栈程序员站长
2022/09/08
9140
Java学习笔记:深入理解嵌套类和内部类
可以在一个类的内部定义另一个类,这种类称为嵌套类(nested classes),它有两种类型: 静态嵌套类和非静态嵌套类。静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为内部类(inner)。嵌套类从JDK1.1开始引入。其中inner类又可分为三种: 其一、在一个类(外部类)中直接定义的内部类; 其二、在一个方法(外部类的方法)中定义的内部类; 其三、匿名内部类。下面,我将说明这几种嵌套类的使用及注意事项。
用户1289394
2021/02/05
6950
Java学习笔记:深入理解嵌套类和内部类
深入理解Java中this关键字的使用
Java提供了一个this关键字,this关键字总是指向调用该方法的对象。根据this出现的位置的不同,this作为对象的默认引用有两种情形。
本人秃顶程序员
2019/04/17
2.5K0
深入理解Java中this关键字的使用
【Java基础】类的成员总结(属性,方法,构造器,代码块,内部类)
类中方法的声明和使用: 方法:描述类应该具有的功能。 比如:Math类:sqrt()\random() … Scanner类:nextXxx() … Arrays类:sort() \ binarySearch() \ toString() \ equals() \ …
小尘要自信
2023/10/10
5730
java从入门到精通四(面向对象上,类与对象的实现,代码块的执行顺序)
面向对象的方法主要是把事物对象化,包括属性和行为。而面向对象编程则比较贴近生活的实际,也就说,在程序中的编程,力图对描述的事物在现实中的形态保持一致。为了做到这一点,我们java中也就有类和对象的概念。类是对一类事物的抽象,类下就有若干对象,对象用于描述类中事物的个体。说来光看定义还是比较抽象,不容易理解。我们在下面的编程实践中可以大致理解这种思维模式。
兰舟千帆
2022/07/16
7650
java从入门到精通四(面向对象上,类与对象的实现,代码块的执行顺序)
Java学习笔记 (成员内部类、静态内部类、匿名内部类、方法内部类)
1、内部类在外部使用时,无法直接实例化,需要借由外部类信息才能完成实例化 2、内部类的访问修饰符,可以任意,但是访问范围会受到影响 3、内部类可以直接访问外部类成员;如果出现同名属性,优先访问内部类中定义的 4、可以使用外部类.this.成员的方式访问外部类中同名的成员信息 5、外部类访问内部类信息,需要通过内部类实例,无法直接访问 6、内部类编译后.class文件命名:外部类$内部类.class 7、内部类中是否可以包含与外部类相同的方法签名的方法
用户5513909
2023/04/25
5070
【JAVASE】探索“继承”的奥秘,深入理解JAVA中的继承机制
继承是面向对象编程中的一个重要特性,它允许我们在一个类的基础上创建一个新的类,新的类可以继承原类的属性和方法,并可以添加自己的属性和方法。这种方式可以有效地实现代码复用,减少重复代码的编写。 举例来说明一下吧:
小舒不服输
2024/01/30
1570
深度理解Java中的static
static可以用来修饰类的成员方法、类的成员变量、类中的内部类(以及用static修饰的内部类中的变量、方法、内部类),另外可以编写static代码块来优化程序性能。
全栈程序员站长
2022/09/09
2K0
2 天入门 Java-Day 2
第二天的课程明显就比第一天的要难了,? 表示很吃力,脑子不够用的节奏。 各种概念绕来绕去,脑袋都要绕成了壳。 不过还好没有放弃,想个办法画出各概念间的联系,虽然没全记住,但是还算是看懂文字了。
杨熹
2018/04/03
6230
2 天入门 Java-Day 2
JAVA知识点总结篇(二)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
村雨遥
2019/09/09
5970
JAVA知识点总结篇(二)
JAVA入门2 原
我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立。然而在某些时候,我们更希望该类所有的对象共享同一个成员。此时就是 static 大显身手的时候了!!
晓歌
2018/08/15
3850
JAVA入门2
                                                                            原
Java面向对象编程高级
在main方法中定义一个变量count,当一个小孩加入游戏后count++,最后个count 就记录有多少小孩玩游戏 。
timerring
2023/04/21
1.5K0
Java面向对象编程高级
Java中static的用法,static、public为什么不能修饰局部变量?
其实这些变量都之所以叫局部变量,其作用域也只限于声明它的方法体内。在方法被调用时,这些局部变量获得内存空间,到方法执行结束时,他们所占据的内存空间就被释放。
HaC
2020/12/30
2.8K0
推荐阅读
相关推荐
Java教程分享Java面向对象与面向过程[通俗易懂]
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验