Java中的静态变量static
package com.wangcf;
public class Test {
String name="你好";
static String sex="男";
Test t=new Test();
/**
* 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员
* 如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量
*/
public static void print(){
Test test=new Test(); //创建本类的对象
System.out.println(name); //此处错误,在静态方法中不能调用非静态变量
System.out.println(test.name); //通过类本身的对象可以访问非静态变量
System.out.println(t); //此处也不能调用t
System.out.println(sex); //静态方法中可以直接调用静态变量
}
/**
* 普通成员方法中可以同时调用静态变量的和非静态变量
*/
public void show(){
System.out.println(name);
System.out.println(sex);
System.out.println(t.name);
}
/**
* 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法
* @param args
*/
public static void main(String[] args) {
t.show();
show(); //不能直接调用非静态方法
Test test=new Test();
test.show();
print(); //可以直接调用非静态方法
}
}
Java中的静态变量static的更多相关文章
- java中的静态变量---static
用static修饰符修饰的数据成员,并不是属于那个对象的,而是属于类.静态数据成员在定义的时候已经分配了内存,而此时对象还没有建立好. 当然它也是被保存到类的方法中的,而不是对象内存中,大家都是可以访 ...
- java中的静态变量
大家都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立.然而在某些时候,我们更希望该类所有的对象共享同一个成员.此时就是 static 大显身手的时候了!! Java 中 ...
- java中的静态变量、静态方法与静态代码块详解与初始化顺序
我们知道类的生命周期分为装载.连接.初始化.使用和卸载的五个过程.其中静态代码在类的初始化阶段被初始化. 而非静态代码则在类的使用阶段(也就是实例化一个类的时候)才会被初始化. 静态变量 可以将静 ...
- java 中的静态(static)代码块
类字面常量 final 静态域不会触发类的初始化操作 非 final static 静态域(以及构造器其实是一种隐式的静态方法) Class.forName():会自动的初始化: 使用 .class来 ...
- Java中的静态变量、静态方法、静态代码块
转载自http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796209.html (一)静态方法(1)在Java里,可以定义一个不需要创建对 ...
- java中的静态变量,静态方法与静态代码块详解
java中的类的生命周期分为装载,连接,初始化,使用,和卸载五个过程. 而静态代码在类的初始化阶段被初始化. 而非静态代码则在类的使用阶段(也就是实例化一个类的时候)才会被初始化. 静态变量 可以将静 ...
- Java中的静态变量、静态方法问题
由关键字static所定义的变量与方法,分别称为静态变量和静态方法,它们又都被称为静态成员 1.静态方法 无需本类的对象也可以调用此方法,调用形式为“类名.方法名”,静态方法常常为其他类提供一些方法而 ...
- Java 中(静态)变量、(静态)代码块的执行顺序
Java 中(静态)变量.(静态)代码块的执行顺序 非原创 本文讨论 Java 中(静态)变量.(静态)代码块的执行顺序 首先创建 3 个类 1.Foo 类 public class Foo { pu ...
- C++和Java中的静态Static用法
C++和Java中都有的一个静态关键字Static,可以放在类中的变量或者函数之前,就成了静态变量或者静态函数. 静态变量又分为静态全局变量和静态局部变量,可参见网上大神总结的C++全局变量,局部变量 ...
随机推荐
- shell习题第5题:批量更改文件后缀名
[题目要求] 找到123/目录下所有后缀名为.txt的文件 1. 批量修改.txt为.txt.bak 2. 把所有.bak文件打包压缩为123.tar.gz 3. 批量还原文件的名字,即把增加的.ba ...
- 宏观看restframework序列化
序列化 序列化意义 web有两种应用模式,一种是前后端不分离,一种是前后端分离,当前后端分离的时候,后端只需要向前端传输数据即可,不需要进行其他的操作,一般如果是中大型公司,都是前后端分离,这也是目前 ...
- php 面试常问 基础知识
字符串都是海针 数组是针海 输出及打印 echo 8%(-2); //输出结果为0 模后的正负号可无视 模前的有用 echo date('Y-m-d H:i:s',strtotime('-1 day' ...
- laravel5.5源码阅读草稿——application
构建方法传入整个项目根目录路径(public文件夹上一级)将其设为基础路径(存在本类basePath属性中). __construct > setBasePath > bindPathsI ...
- 流程控制(if、while、for)
流程控制 一.if判断 # 1.语法一if 条件:#条件成立时执行的子代码块` 代码1 代码2 代码3# 示例:sex='female'age=18is_beautiful=Trueif sex == ...
- pentestbox更新msf
pentestbox成功升级msf 1. 输入 msfupdate 进行软件更新 2. 在[*] Updating gems...,软件报错,提示找不到文件路径,输入以下两条命令,尝试单独安装 g ...
- 20155222 2016-2017-2 《Java程序设计》实验一
实现Fibonacci数列功能,并进行测试. 源代码: import java.util.Scanner; public class fibonacci { public static void ma ...
- 20155305乔磊2016-2017-2《Java程序设计》第一周学习总结
学习考核方式后感 老师对于成绩的获得有很多细节的地方,获得高分很不容易,考核次数也很多,100分分为课堂考核,实验,团队项目,老师对我们的要求可以说非常的严格,我也为有一个要求严格的老师感到幸运荣幸. ...
- 20155320 实验二 Java面向对象程序设计
20155320 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步 ...
- 20145209 2016-2017-2 《Java程序设计》课堂实践内容
20145209 2016-2017-2 <Java程序设计>课堂实践内容 一.递归 题目详情: public class TestArgs{ public static void mai ...