简单了解static
1 /**
2 * 不区分本类还是异类,在静态成员被调用必须以类名点取调用,非静态成员必须创建累的实例去调用
3 * 区别:
4 * 1、静态成员的调用:
5 * 在本类(静态与非静态方法)中调用可以省略类名点,直接调用(此处无论是哪里的调用只要改变了属性的值,那么所有的调用都会改变,因为他们都指向内存中的同一个地址)
6 * 2、非静态成员的调用:
7 * 在本类的非静态方法中调用可以省略实例对象的创建,直接调用(这样写不会报错,但是与创建对象再用对象命点用所指向的内容不同了,因为他们指向内存中的不同地址)
8 */
9 package com.test;
10
11 public class StaticTest{
12 int a = 1;
13 static int b = 2;
14 //非静态方法
15 void testa(){
16 System.out.println("一类中的非静态方法");
17 //试验同一类中非静态方法调用静态与非静态变量(方法的调用与变量一样)
18
19 //调用本类静态变量(此处省略了类名点取)
20 StaticTest.b = 12;
21 System.out.println(b);//省略类名点取
22
23 //调用本类非静态变量
24 //此处可以以创建实例对象的方式调用a变量,但是这样的话这里的a就与直接调用a不同了,前者指的是新建对象的属性a,后者则是类的a属性
25 // StaticTest m = new StaticTest();
26 // m.a = 11;
27 // a = m.a;
28 a = 11;
29 System.out.println(a);
30
31 //调用异类静态变量(此处直接调用会报错)
32 // b2 = 14;//报错
33 Qita.b2 = 14;
34 System.out.println(Qita.b2);
35
36 //调用异类非静态变量(此处直接调用会报错)
37 // a2 = 13;//报错
38 Qita x = new Qita();
39 x.a2 = 13;
40 System.out.println(x.a2);
41 }
42 static void testb(){
43 System.out.println("一类中的静态方法");
44 //试验同一类中非静态方法调用静态与非静态变量(方法的调用与变量一样)
45
46 //调用本类静态变量
47 StaticTest.b = 22;
48 System.out.println(b);//此处省略类名点
49
50 //调用本类非静态变量
51 StaticTest y = new StaticTest();
52 y.a = 21;
53 System.out.println(y.a);
54
55 //调用异类静态变量
56 Qita.b2 = 24;
57 System.out.println(Qita.b2);
58
59 //调用异类非静态变量
60 Qita x = new Qita();
61 x.a2 = 23;
62 System.out.println(x.a2);
63 }
64 public static void main(String[] args) {
65 //静态方法调用本类中的非静态方法
66 StaticTest z = new StaticTest();
67 z.testa();
68
69 //静态方法中调用本类中静态方法
70 testb();
71 }
72 }
73 class Qita{
74 int a2 = 3;
75 static int b2 = 4;
76 void testa2(){
77 System.out.println("二类中的非静态方法");
78 }
79 static void testb2(){
80 System.out.println("二类中的静态方法");
81 }
82 }
简单了解static的更多相关文章
- 简单总结static、final、this关键字的使用
在最近看书的过程中,常常遇到static.final.this这三个关键字,不是很明白它们的使用,查阅资料结合实例做了如下总结: 一.static——无需创建对象就可以调用(方法.属性). 1.静态变 ...
- Java Debug调试简单方法--static使用
Public class Debug { public Debug() { } static void debugPrint(String src) { //System.out.print(src) ...
- java面试官:兄弟简单谈谈Static、final、Static final各种用法吧
前言 对Static.final.Static final这几个关键词熟悉又陌生?想说却又不知怎么准确说出口?好的,本篇博客文章将简短概要出他们之间的各自的使用,希望各位要是被你的面试官问到了,也能从 ...
- const,static,extern 简介
const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...
- C 封装一个简单二叉树基库
引文 今天分享一个喜欢佩服的伟人,应该算人类文明极大突破者.收藏过一张纸币类型如下 那我们继续科普一段关于他的简介 '高斯有些孤傲,但令人惊奇的是,他春风得意地度过了中产阶级的一生,而 没有遭受到冷 ...
- 如何正确使用const、static、extern
转自:http://www.jianshu.com/p/2fd58ed2cf55 前言 本篇文章主要介绍在开发中怎么使用const.static.extern关键字. 一.const 与宏的区别: c ...
- 简易配置Django的Static文件
http://blog.csdn.net/hireboy/article/details/8806098 Django 1.3以后,采用static方式处理静态文件,比如网站的css js image ...
- 规则引擎drools的简单使用
规则引擎适用于有复杂多变的规则,如商品满减.积分赠送.考勤规则等 一.引入maven依赖 <dependency> <groupId>org.drools</groupI ...
- java之关键字static
static简单概述 static 关键字的基本使用,它可以用来修饰的成员变量和成员方法,一旦用了static关键字修饰,那么这样的内容不再属于对象而是属于类,凡是本类的对象都共享使用同一份.我们可以 ...
随机推荐
- (25)Teach girls bravery, not perfection
https://www.ted.com/talks/reshma_saujani_teach_girls_bravery_not_perfection/transcript00:12So a few ...
- lsf运行lsload命令显示“lsload: Host does not have a software license”
因为这个问题也是花费好长时间了,对一个小白的我来说真的挺激动的.下面说一下我的解决思路吧.不过造成这个问题也有很多种原因,需要对症下药. 我入手解决是从这个网站上看到同样的问题,然后通过一个个排除最后 ...
- Java List中迭代器遍历
在java中,List接口从Collection接口中继承了 iterator()函数,返回值是一个T类型的迭代器(泛型),T是List中元素的类型 public class TestListAndI ...
- 记录一次Service被注入mapper实例的错误
在一个搭建框架为SSM的项目中,有一个需求是数据库更新同步Solr索引库的数据. 在使用ActiveMQ作为中间件,实现这个需求时却发生了一个错误. 在Listener实现类里我想注入一个Servic ...
- 我的C#跨平台之旅(二):开发最为简单的REST API
添加NuGet引用:Microsoft.AspNet.WebApi.Owin 在启动类启用WebApi: 添加一个Controller类,代码如下: 运行程序并访问:http://localhost: ...
- 虚拟机找不到/mnt/hgfs挂载目录——debian与 vmware
如果在安装好 VMware Tools 并在设置里面设定好共享目录之后仍然找不到 /mnt/hgfs 默认挂载目录,那么尝试以下步骤: 1. 确认VMware Tools 和共享目录设定已经完成: 2 ...
- UniGui中使用Grid++Report报表控件子报表获取数据的方法
Grid++Report是为优秀的报表控件,子报表是其重要功能之一,但Grid++Report提供的网页报表示范主要是以页面为主的,UniGui在Delphi中以快速编写web管理软件著称,但由于资料 ...
- Objective-C iOS纯代码布局 一堆代码可以放这里!
前言: 最近写的文章都是创业类,好吧,今天好好写写技术类的文章! 不过分享的不是IOS相关的文章,毕竟这几天在速成IOS,看的是objective-c,由于速成的很快,好累! 好在现在基本已经入了点门 ...
- 前端框架本质之探究——以Vue.js为例
问:我们在使用Vue时,实际上干了什么? 答:实际上只干了一件事——new了一个Vue对象.后面的事,都交由这个对象自动去做.就好像按了下开关,机器跑起来了,剩下的事就不用我们再操心了. 各位 ...
- Warning: imagettfbbox(): Could not read font in XXX on line X
今天在做图形验证码的时候,在windows运行好好的代码在CentOS下却无法运行了.报了如下警告 Warning: imagettfbbox(): Could not read font in /m ...