"静态方法里仅仅能调用静态变量和静态方法"具体解释
静态方法里能够调用静态方法和静态变量,同一时候也能调用非静态方法和非静态变量。
public class Test {
public Test() {};
public Test(int i) {this.n = i;}
public static int m = 5;
public int n = 10;
public void fun1() {System.out.println("非静态方法fun1");}
public static void fun2() {System.out.println("静态方法fun2");}
//測试“静态方法里仅仅能调用静态变量和静态方法”详细是什么意思
public static void main(String[] args) {
//调用静态方法不会报错
//fun2();
//调用静态变量不会报错
System.out.println(m);
//无法从静态上下文中引用非静态方法fun1()
//fun1();
//无法从静态上下文中引用非静态变量n
//System.out.println(n);
//能够在静态方法中new对象,调用到了非静态方法的构造方法。无论是否默认构造方法。下列代码均能正确运行。故觉得:“编译阶段,编译器不会检查静态方法中牵扯到 详细对象以及对象的相关操作”。如此,也提供了静态方法中訪问非静态方法和非静态属性的解决方式。
//Test t = new Test(8);
//t.fun2();
//t.fun1();
//System.out.println(t.m);
//System.out.println(t.n);
}
}"静态方法里仅仅能调用静态变量和静态方法"具体解释的更多相关文章
- 内部类访问外部类的变量必须是final吗,java静态方法中不能引用非静态变量,静态方法中不能创建内部类的实例
内部类访问外部类的变量必须是final吗? 如下: package com.java.concurrent; class A { int i = 3; public void shout() { cl ...
- 谈谈java中静态变量与静态方法在有继承关系的两个类中调用
谈谈java中静态变量与静态方法在有继承关系的两个类中调用 学习的中如果遇到不明白或者不清楚的的时候,就是自己做些测试,自己去试试,这次我就做一个关于静态变量和静态方法在有继承关系的两个类中的问题测试 ...
- java中静态的代码块,静态变量,静态方法
简单了解一下java虚拟机--jvm几个内存区域: 方法区:在java的虚拟机中有一块专门用来存放已经加载的类信息.常量.静态变量以及方法代码的内存区域, 常量池:常量池是方法区的一部分,主要用来存放 ...
- Java知多少(31)static关键字以及Java静态变量和静态方法
static 修饰符能够与变量.方法一起使用,表示是“静态”的. 静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法.静态 ...
- C++类中静态变量和静态方法的注意事项
在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量仅仅存储一份供全部对象共用.所以在全部对象中都能够共享它.使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还能够 ...
- 《Java基础知识》Java static关键字以及Java静态变量和静态方法
static 修饰符能够与变量.方法一起使用,表示是“静态”的. 静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法.静态 ...
- Java中的静态变量、静态方法、静态代码块
转载自http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796209.html (一)静态方法(1)在Java里,可以定义一个不需要创建对 ...
- JAVA的静态变量、静态方法、静态类
静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明. (1)Java静态对象和非静态对象有什么区别? 比对如下: 静态对象 ...
- 转载:JAVA的静态变量、静态方法、静态类
静态变量和静态方法都属于静态对象,它与非静态对象的差别需要做个说明. (1)Java静态对象和非静态对象有什么区别? 比对如下: 静态对象 ...
随机推荐
- c++ 幕客网
http://m.imooc.com/course/list.html?c=cplusplus http://coding.imooc.com/ http://www.imooc.com/act/al ...
- iscroll 子表左右滚动同时保持页面整体上下滚动
if ( this.options.preventDefault && !utils.isBadAndroid && !utils.preventDefaultExce ...
- Linux内核裁剪的具体步骤
在menuconfig中配置: 详细介绍内核配置选项及删改情况 第一部分:全部删除 Code maturity level options ---> 代码成熟等级选项 []Prompt for ...
- wait和notify实现的生产者消费者线程交互
public class ProductTest { public static void main(String args[]) { Repertory repertory=new Repertor ...
- 【转载】ASP.Net请求处理机制初步探索之旅 - Part 3 管道
开篇:上一篇我们了解了一个ASP.Net页面请求的核心处理入口,它经历了三个重要的入口,分别是:ISAPIRuntime.ProcessRequest().HttpRuntime.ProcessReq ...
- 朴素贝叶斯分类算法-----java
1.贝叶斯分类的基础--贝叶斯定理 已知某条件概率.怎样得到两个事件交换后的概率,也就是在已知P(A|B)的情况下怎样求得P(B|A). 这里先解释什么是条件概率: 表示事件B已经发生的前提下,事件A ...
- ceres g2o 安装
.ceres 安装 Git clone https://github.com/ceres-solver/ceres-solver 安装依赖: # CMake sudo apt-get install ...
- Windows 10正式版历代记:Version 1709、Build 16299都是什么鬼?
Windows 10免费用!创意者更新秋季版激活秘籍 2017年10月中下旬,微软面向正式版用户推送了Windows 10创意者更新秋季版.这是自发布以来,Windows 10的第五个大版本. 在这篇 ...
- python创建迅雷批量任务
其实不是真的创建了批量任务,而是用python创建一个文本文件,每行一个要下载的链接,然后打开迅雷,复制文本文件的内容,迅雷监测到剪切板变化,弹出下载全部链接的对话框~~ 实际情况是这样的,因为用py ...
- 【demo练习三】:图片水平滚动、点击按钮变更图片动画
要求:四张图片水平滚动,每隔5秒进行一次循环,点击按钮随机变更图片. XAML前台代码: <Window x:Class="图片滚动.MainWindow" xmlns=&q ...