为什么静态方法无法直接调用非静态成员变量和方法

news/2024/11/29 8:35:27/

静态方法无法直接调用非静态成员变量和方法 看到这句话,要想到形容的是这样的如下

静态方法里面无法调用非静态变量

下面在写一个对比非静态的方法和静态方法调用变量对比

问题原因

静态变量和静态的方法是属于类,不属于对象,调用的时候不需要实例化(当然如果你非要实例化之后在调用也是可以的),

非静态的变量和方法是属于对象的,调用的需要先实例化,这也就是上面图片中的name报错的原因,

大家需要注意,无法直接调用,并不是无法使用,我们实例化对象之后就可以调用的.

为了更好的理解,我写了一个demo

public class Student {private String name = "张三";private static String sex = "男";public void Name() {System.out.println(name);System.out.println("非静态方法Name");}public static void Sex() {System.out.println("静态方法sex");}public static void main(String[] args) {//非静态变量name调用Student student = new Student();System.out.println(student.name);// 静态变量SexSystem.out.println(sex);// 非静态方法调用student.Name();//静态方法调用Student.Sex();}}

可以看到,静态变量可以直接调用,静态方法输入类的,可以直接通过类.方法 的方法直接使用

非静态的变量在静态的方法中需要实例化对象,即是Student student = new Student(); 实例化对象student 然后通过对象调用方法和变量

 

 

 


http://www.ppmy.cn/news/609390.html

相关文章

latex用法总结

画彩色直线 $\textcolor[rgb]{1,0,0}{\rule[1.5pt]{0.5cm}{0.2em}}$表格和图在同一行 \begin{figure*}\begin{minipage}{0.63\linewidth}\includegraphics[width1.0\hsize]{HPatches_curve.pdf}\end{minipage}\hfill\begin{minipage}{0.34\linewidth}\tiny\renewcommand\arra…

大数据Spark(十六):Spark Core的RDD算子练习

文章目录 RDD算子练习 map 算子 filter 算子 flatMap 算子

适定、超定和欠定方程的概念

矩阵的每一行代表一个方程&#xff0c;m行代表m个线性联立方程。 n列代表n个变量。如果m是独立方程数&#xff0c;根据m<n、mn、m>n确定方程是 ‘欠定’、‘适定’ 还是 ‘超定’。 超定方程组&#xff1a;方程个数大于未知量个数的方程组。 对于方程组Ray&#xff0c;R为…

深度学习数据预处理

深度学习数据预处理 训练过程中有时会遇到过拟合的问题&#xff0c;其中一个解决方法就是对训练数据做增强&#xff0c;对数据进行处理得到不同的图像&#xff0c;从而泛化数据集。数据增强API是定义在领域目录的transofrms下&#xff0c;这里介绍两种使用方式&#xff0c;一种…

大数据Spark(十七):Spark Core的RDD持久化

文章目录 RDD 持久化 引入 API 缓存/持久化函数 缓存/持久化级别

【Android学习笔记】Android布局属性大全

第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的…

Android 内容观察者 ContentObserver 类

ContentObserver——内容观察者&#xff0c;目的是观察特定Uri引起的数据库的变化 这个是官方的文档,将的也是比较少 一般使用分为四步, 1、创建内容观察者 ContentObserver 2、注册监听 registerContentObserver 3、刷新数据库改变 onChange 4、注销监听 unregisterConten…

杀死僵尸进程

ps -A -ostat,ppid,pid,cmd |grep -e ^[Zz]