static关键字的使用

static关键字的使用:
* 1.static:静态的
*
* 2.static可以用来修饰:属性、方法、代码块、内部类。
*
* 3. 使用static修饰属性:类变量(或静态变量
* >使用static修饰的变量,被类的所对象所共享:类的所对象共同同一个静态变量。
* 对比:不用static修饰的属性,称为:实例变量。每个对象拥一份实例变量。通过对象a修改某个实例变量,
* 不会影响其他对象同名的实例变量的值。
* >我们可以通过对象a去调用或修改静态变量的值,那么会影响其他对象对此静态变量的调用。
* >静态变量和实例变量在内存中分配的位置不同:
* 实例变量,随着对象的创建而产生,分配在堆空间中。
* 静态变量,随着类的加载而产生的,分配在方法区。
* >静态变量的加载要早于对象的创建。
* > 静态变量 非静态变量(实例变量
* 类 可以 不可以
* 对象 可以 可以
*
* 4. 使用static修饰方法:静态方法
* >随着类的加载而加载
* > 静态方法 非静态方法
* 类 可以 不可以
* 对象 可以 可以
* >静态方法内:可以调用静态的属性或静态的方法。不可以调用非静态的属性和非静态的方法。
* 非静态的方法内:可以调用非静态的属性和非静态的方法。也可以调用静态的属性或静态的方法。
*
* 5. 如何判定属性是否需要声明为static的?是否需要类的多个对象来共享此属性;很多常量都声明为static的
*
* 如何判定方法是否需要声明为static的?操作静态变量的方法;工具类中的方法。(Math.random();)
* public class StaticTest {

public static void method(){

}

public static void main(String[] args) {

Chinese c1 = new Chinese();
c1.name = "孙杨";
c1.age = 20;
c1.nation = "CHN";
System.out.println(c1);

Chinese c2 = new Chinese();
c2.name = "姚明";
c2.age = 35;
//c2.nation = "CHN";
c2.nation = "中国";
System.out.println(c2);
System.out.println(c1);

System.out.println(Chinese.nation);
// System.out.println(Chinese.name);
System.out.println(Math.PI);

c1.show();
Chinese.show();

// System.out.println(Chinese.toString());

System.out.println();

// StaticTest t = new StaticTest();
// t.method();

// method();
}
}

class Chinese{
String name;
int age;
static String nation;
@Override
public String toString() {
return "Chinese [name=" + name + ", age=" + age + ", nation=" + nation + "]";
}

public static void show(){
System.out.println("我是一个中国人!");
Chinese.info();
System.out.println("nation = " + nation);
// this.display();
// System.out.println("name = " + name);
}

public static void info(){
System.out.println("合唱“中国人”");
}
//非static的方法
public void display(){
System.out.println("我叫" + name + ",今年" + age + "岁");
//静态结构:
info();
System.out.println("nation = " + nation);
}

}

时间: 2024-10-27 02:42:08

static关键字的使用的相关文章

Static关键字

1.static修饰的资源属于类级别的资源,静态的资源,对于类的所有实例对象的共享的资源 2.static关键字可以用来修饰属性,方法,代码块 3.static修饰的资源,在类加载期间执行 Static修饰的属性 static关键字修饰属性,属于对类所有实例对象共享的变量 访问静态的属性:类名.属性名 Static修饰的方法 static关键字修饰的方法属于静态方法可以直接类名.方法名()进行调用,一般的是把静态方法作为工具方法 静态方法中不能调用对象的资源(对象属性,对象方法); Static

C++ 类模板三(类模版中的static关键字)

//类模版中的static关键字 #include<iostream> using namespace std; /* 类模板本质上是c++编译器根据类型参数创建了不同的类, c++编译器在利用类模板生成类的时候会为每个类生成一个static变量 那么对于类中的static关键字就非常好理解了 static关键字修饰的变量是属于类的 同一个类的对象共享类的static静态变量 类模板中的static修饰的变量数据类型必须是确定的 不可以是类型参数 因为静态变量在类对象之前初始化 这时候还没有通

java中static关键字的理解

static关键字 解决两种问题 1.   只想为某特定域分配单一的存储空间,而不去考虑究竟要创建多少对象,甚至根本不创建任何对象 2.   希望某种方法不与包含它的任何对象关联在一起,也就是说,即使没有创建对象也能调用这个方法 当static作用于某个字段时,肯定会改变数据创建的方式,因为一个static字段对每个类时只有一份存储空间,而非static字段则是对每一个对象都有一个存储空间 和其他方法一样,static方法可以创建或使用其类型相同的被命名的对象,因此static方法常常被拿来做牧

java编程思想-——static关键字

对于java来说,创建类时候,就是在描述那个类的对象的外观和行为.除非用new创建那个类的对象,否则,实际上并未获得任何对象.执行new操作的时候,数据存储空间才被分配,其方法才被外界所调用. 1.什么是static关键字 static关键字标示的变量和方法,只分配单一的存储空间.不去考虑究竟要创建多少个对象,甚至根本就不用创建对象.没有创建对象也可以访问static标记的对象或者方法. 对于static标记的对象,即可以用对象来操作,也可以用类来操作. 2.static的一些用法. 对于sta

static关键字的使用(有个深刻领悟)

没有实例化对象的时候进行可以调用static 属性  static方法 (用类名去调用) 非static定义的方法可以调用static的属性或方法. static定义的方法不能调用非static的方法或属性: 非static方法几乎都有一个特点:方法要由实例化对象调用 或者在web开发中,由url调用 /* 最深刻透彻醍醐灌顶的领悟*/ 以前想为啥啊,那个url就可以执行了非static方法了 Servlet的工作原理就是反射,所有,MVC框架的controller都是这个机制 Servlet的

Java static 关键字

本文介绍 Java static 关键字的用法和注意点: 1. 使用 static 声明属性--即 static 声明全局属性 2. 使用 static 声明方法--即通过类名直接调用 static 方法 注意点: 使用 static 方法的时候,只能访问 static 声明的属性和方法,而非 static 声明的方法和属性是不能访问的. 我们使用如下代码声明三个对象,并且相应的进行赋值: package hello; class People2{ String name; int age; p

PHP static 关键字和 self 关键字实例化的区别

在实例化时,static 关键字类似于 self 关键字,但 static 关键字指的是被调用的类,而 self 关键字指的是包含类. 这样说可能不太好理解,接下来举一个例子. 首先创建一个超类 DomainObject ,该类包含功能可被其扩展类共用,其次创建一个子类 Document . 代码如下: abstract class DomainObject { public static function create() { return new self(); } } class Docu

5.JAVA基础复习——JAVA中的static关键字作用与用法

static关键字: 特点: 1.static是一个修饰符,用于修饰成员.(成员变量,成员函数)static修饰的成员变量 称之为静态变量或类变量. 2.static修饰的成员被所有的对象共享. 3.static优先于对象存在,因为static的成员随着类的加载就已经存在. 4.static修饰的成员多了一种调用方式,可以直接被类名所调用,(类名.静态成员). 5.static修饰的数据是共享数据,对象中的存储的是特有的数据. 1 private static int age;//用static

[java]static关键字的四种用法

在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们先来了解一下static关键字及其用法. static关键字 1.修饰成员变量 在我们平时的使用当中,static最常用的功能就是修饰类的属性和方法,让他们成为类的成员属性和方法,我们通常将用static修饰的成员称为类成员或者静态成员,这句话挺起来都点奇怪,其实这是相对于对象的属性和方法来说的.请看下面的例子:(未避