Java学习---静态成员变量和一般成员变量的区别

public class AccessProperty {
    int i=47;//改变加static int i=47;
    public void call(){
    System.out.println("调用call()方法");
    for(int i=0;i<3;i++){
  	  System.out.println(i+"");
  	  if(i==2){
  		  System.out.println("\n");
  	  }
    }
	}
    public AccessProperty(){
   }
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
       AccessProperty t1=new AccessProperty();
       AccessProperty t2=new AccessProperty();
       t2.i=60;
       System.out.println("第一个实例对象调用变量i的结果:"+t1.i++);
       t1.call();
       System.out.println("第二个实例对象调用变量i的结果:"+t2.i);
       t2.call();
       }

}输出为

第一个实例对象调用变量i的结果:47
调用call()方法
0
1
2

第二个实例对象调用变量i的结果:60
调用call()方法
0
1
2

2、使用static

第一个实例对象调用变量i的结果:60
调用call()方法
0
1
2

第二个实例对象调用变量i的结果:61
调用call()方法
0
1
2

原文地址:https://www.cnblogs.com/6530265oule/p/9314648.html

时间: 2024-10-21 18:48:02

Java学习---静态成员变量和一般成员变量的区别的相关文章

Java学习之道:jdk环境变量配置方法

JDK(Java Development Kit)是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库.JDK作为JAVA开发的环境,不管是做JAVA开发还是做安卓开发,都必须在电脑上安装JDK. 64位下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html jdk环境变量配置方法: 在安装完jdk后,还需要对jdk的环境变量进行配置才能正常使用,下面教大家如何配置jdk环境变量: 1

python的静态成员变量、实例成员变量、静态方法、类方法、实例方法

静态成员变量(类变量)和普通成员变量(实例变量) 静态成员变量只能通过类名.变量名获得,实例成员变量,通过该实例引用.变量名获得. 在实例对静态成员变量赋值时,实例 python是动态类型的语言,没有特别的标志区分静态成员变量和普通成员变量 如果你使用类名.成员变量    那这个成员变量现在就是静态成员变量(类变量) 如果你使用实例.成员变量    那这个成员变量现在就是普通成员变量(实例变量) 静态方法.类方法.实例方法      实例方法,类中的普通方法,由实例调用 类方法,被@classm

黑马程序员---Objective-C基础学习---点方法使用和成员变量的作用域

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.点语法 oc设计点语法的目的就是让其他语言的开发者能快速上手oc这门语言,oc点语法与java里面很像,那什么是点语法呢,点语法怎么用呢? 1.点语法和set和get方法有关 这里新建一个项目,添加一个Person类 Person.h 1 // 2 // Person.h 3 // zijia 4 // 5 // Created by zou on 5/10/15. 6 // Copyri

PHP 类的静态成员变量和普通成员变量对比

有很多人可能弄不清楚,在PHP中类的静态成员变量和普通成员变量有什么区别? 1.类的静态方法只能访问静态成员变量,而不能访问非静态成员变量 2.静态成员变量不需要实例化就能访问,且访问速度快一些 3.类的静态成员变量只属于这个类,但类的所有实例共享这个静态成员变量 一个由 c/c++编译过的程序占用的内存分为一下几个部分 (1).栈区 stack : 由编译器自动分配释放,存放函数的参数值,局部变量的值等.这个栈的操作方式类似于数据结构中的栈.栈区是在程序运行前就会分配好的,速度较堆要快 (2)

Java面向对象(二):成员变量—OOP中的内存管理—构造函数

第一节 成员变量 1.1成员变量与局部变量 成员变量:声明在类下面,方法外面:作用于整个类中: 局部变量:声明在方法下面,作用于方法下面. 1.2 成员变量默认值  成员变量的默认值和数组的默认值一样: 整数类型:0 浮点类型:0.0 字符类型:\u0000 布尔类型:false 字符串类型:null 1.3 成员变量和局部变量的区别  1.从声明的位置: 局部变量声明在方法中,成员变量声明在类下面. 2.从默认值方面: 局部变量没有默认值,成员变量有默认值. 3.从生命周期来说: 局部变量随着

【Java】+反射1+获取属性/成员变量 的名称及类型

扩展链接:[Java]+反射2+设置属性/成员变量 的值 1.目标类 2.获取目标群类中的属性及属性的类型 3.代码 1 @Test 2 public void testA() { 3 Class clazz = ZGXRequest.class; 4 // step1 获取类中所有的属性 5 Field[] fields = clazz.getDeclaredFields(); 6 for (Field field : fields) { 7 // step2 获取每个属性的类型(以点分割 需

java 学习之List 的 add 与set方法区别

/** * 在List集合中众多方法中,add(int index,Object obj)方法与set(int index,Object e)方法不易区分 * ,通过下面实例,可以看出两个方法中的区别 */ package gao; import java.util.Iterator; import java.util.LinkedList; import java.util.List; public class CollectionDemo { public static void main(

java基础疑难点总结之成员变量的继承,方法重载与重写的区别,多态与动态绑定

1.成员变量的继承 1.1要点 子类用extends关键字继承父类.子类中可以提供新的方法覆盖父类中的方法.子类中的方法不能直接访问父类中的私有域,子类可以用super关键字调用父类中的方法.在子类中可以增加域,增加方法或者覆盖超类的方法,然而绝对不能删除继承的任何域和方法. 在一个子类被创建的时候,首先会在内存中创建一个父类对象,然后在父类对象外部放上子类独有的属性,两者合起来形成一个子类的对象.所以所谓的继承使子类拥有父类所有的属性和方法其实可以这样理解,子类对象确实拥有父类对象中所有的属性

java学习(四)static静态变量 和this

java中的this /* this:是当前类的对象引用.简单的记,它就代表当前类的一个对象. 注意:谁调用这个方法,在该方法内部的this就代表谁. this的场景: 解决局部变量隐藏成员变量 */ //定义学生类 class Student { //姓名 private String name; //年龄 private int age; //姓名获取值 public String getName() { return name; } //姓名设置值 public void setName(

关于Java的构造器和直接为成员变量赋值的区别

首先,看一下为什么要用构造器? 1.Java类的成员变量在被修饰为public.protected和包访问权限时,可以在不同层次上直接给成员变量赋值. 但是,赋值的前提是:必须存在持有成员变量的对象.而对象的初始化必须调用构造函数,所以构造函数是必不可缺的. 至于使用构造函数还是直接声明时给成员变量赋值,那就要看情况而定. 如果创建的这个对象是不可变的,那么就必须使用构造函数初始化成员变量,反之,就无所谓. 另外,直接给成员变量赋值,Java是不推荐的,因为这样会破坏它的封装性.所以,建议在构造