简单了解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关键字修饰,那么这样的内容不再属于对象而是属于类,凡是本类的对象都共享使用同一份.我们可以 ...
随机推荐
- JAVA 8 主要新特性 ----------------(六)集合Stream API
一.简介Stream Java8中有两大最为重要的改变.第一个是 Lambda 表达式:另外一 个则是 Stream API(java.util.stream.*).Stream 是 Java8 中处 ...
- Python连接oracle数据库的基本操作
1,创建数据库连接connect和关闭数据库连接close 1.1 创建数据库连接的三种方式: 方法一:用户名.密码和监听分开写 import cx_Oracle db=cx_Oracle.conne ...
- 20155205 郝博雅 《网络对抗技术》Exp1 PC平台逆向破解
20155205 郝博雅 <网络对抗技术>Exp1 PC平台逆向破解 一.实验准备 1. 掌握NOP.JNE.JE.JMP.CMP汇编指令的机器码 NOP:NOP指令即"空指令& ...
- expdp错误案例
转自:https://www.cnblogs.com/kerrycode/p/3960328.html Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例,下面总结一 ...
- 关于信息系统设计与开发——案例:VIP系统
一.关于信息系统设计与开发 信息系统开发流程先对需求分析系统分析,设计数据库,设计程序,再对测试数据进行测试. 在程序设计中运用了接口:定义一个接口,可以有多种实现.变量声明为接口变量,调用接口方法, ...
- POJ - 3278 Catch That Cow bfs 线性
#include<stdio.h> #include<string.h> #include<algorithm> #include<queue> usi ...
- redis在linux云服务器上完整的搭建步骤
Redis的安装 搭建环境: 华为云linux服务器 Linux系统CneterOS-7.3 SSH客户端 Xshell6 安装c语言编译环境软件如下: 安装报错 然后找到了解决方法: 安装kerne ...
- CentOS7安装OpenLDAP+MySQL+PHPLDAPadmin
安装环境:CentOS 7 1.安装和设置数据库 在CentOS7下,默认安装的数据库为MariaDB,属于MySQL数据库的一个分支,所以我还是使用了MariaDB.安装命令为: [root@loc ...
- #227 Generate Random Whole Numbers within a Range
我们之前生成的随机数是在0到某个数之间,现在我们要生成的随机数是在两个指定的数之间. 我们需要定义一个最小值和一个最大值. 下面是我们将要使用的方法,仔细看看并尝试理解这行代码到底在干嘛: Math. ...
- 从NoSQL到NewSQL,谈交易型分布式数据库建设要点
在上一篇文章<从架构特点到功能缺陷,重新认识分析型分布式数据库>中,我们完成了对不同"分布式数据库"的横向分析,本文Ivan将讲述拆解的第二部分,会结合NoSQL与Ne ...