static关键字

原创 2017年10月27日 21:39:49
package org.westos_08_static关键字;
/*
 * 需求:自定义一个人类:Person类
 * name,age,contry
 * 构造方法
 * 进行测试
 * 
 * 经过测试,发现每一次给对象赋值,都赋值中国,美国人的年龄和姓名不一样,这个可以理解,但是国籍都是一样的,
 * 给成员变量赋值(country)的时候,耗费内存空间;那么这三个人都是属于中国人,为了让他们共享同一个常用变量,
 * 所以java提供了一个关键字:static:静态的,共享的(所以类的对象都可以共享)
 * */
class Person{
//成员变量
String name;
int age ;
// String country ;
//加入static修饰
static String country ;

//无参构造
public Person(){

}

//有参构造
public Person(String name,int age){
this.name = name;
this.age = age ;
}

public Person(String name,int age,String country){
this.name = name ;
this.age = age ;
this.country = country ;
}

//写一个show()显示成员变量的信息
public void show(){
System.out.println("姓名是:"+name+",这个人的年龄是:"+age+",所在的国籍是:"+country);
}
}


//测试类
public class PersonDemo {
public static void main(String[] args) {
//创建Person类对象
Person p1 = new Person("西施", 20, "中国") ;
p1.show() ;

//创建第二个对象
// Person p2 = new Person("杨贵妃", 28, "中国") ;
Person p2 = new Person("杨贵妃", 28) ;
p2.show() ;

//创建第三个对象
// Person p3 = new Person("貂蝉", 25, "中国") ;
Person p3 = new Person("貂蝉", 25) ;
p3.show() ;

p3.country = "美国" ;
p3.show() ;//中国
p2.show() ;
p1.show() ;
}

}

package org.westos_08_static关键字;
/*
 * static关键字的特点:
 * 1)表示静态的,用来共享数据
 * 2)static关键字随着类的在而加载
 * 3)static优先于对象存在
 * 共享数据:
 * 举例:饮水机:
 * 大家共用饮水机
 * 水杯不能共用:
 * 4)成员变量或者成员方法如果被static修饰,那么可以用类名直接调用(重点)
 * 
 * 调用成员变量或者成员方法有几种方式:
 * 方式1:创建对象调用
 * 对象名.成员变量
 * 对象名.成员方法
 * 方式2:如果想使用类名调用,必须用static修饰!
 * */
class Student{
//非静态变量
int num = 200 ;
//静态比那里
static int num2 = 100 ;

public static void show(){
System.out.println("show");
}
}


//测试类
public class StudentDemo {
public static void main(String[] args) {
//创建对象
Student s = new Student() ;

//对象名调用成员变量
System.out.println(s.num);
System.out.println(s.num2);
//对象名调用方法
s.show() ;
Student.show() ;

System.out.println(Student.num2);
}
}

package org.westos_08_static关键字;
/*
 * static关键字的注意事项:
 * 成员:
 * 静态成员
 * 静态成员:
 * 静态成员变量:只能访问静态变量
 * 静态成员方法:只能访问静态成员方法
 *
 * 简单记:静态只能访问静态
 * 非静态成员
 * 成员变量:可以是静态变量,也可以非静态变量
 * 成员方法:可以是静态成员方法,也可以非静态成员方法
 * 
 * 静态成员中没有this关键字
 * 
 * 静态的特点:类名直接可以调用!
 *
 * */
class Teacher{
//非静态成员变量
public int num = 20 ;

//静态成员变量
public static int num2 = 30 ;

//非静态成员方法
public void show(){
System.out.println(num2);
System.out.println(num);
}

//静态的成员方法,只能访问静态成员变量
public static void method(){
// System.out.println(num);
System.out.println(num2);
}

public void function(){
method();
}

public static void function2(){
// function() ;
method() ;
}

}


//测试类
public class TeacherDemo {
public static void main(String[] args) {
Teacher t = new Teacher() ;
System.out.println(t.num2);
//类名直接调用:static修饰
System.out.println(Teacher.num2);

t.method() ;
Teacher.method() ;
Teacher.function2() ;
}
}

Static关键字所有用法详解

以前总是对static的涵义模棱两可,不太敢用,也不知道什么地方改用,static用法非常广泛,静态变量、静态成员、静态函数等,如果用的好,会是程序提升一个等级,并且可以解决很多实际问题,比如单例模式...
  • yanglusheng
  • yanglusheng
  • 2016年07月13日 10:22
  • 1253

php之static静态关键字

都知道声明为static的方法可以在类没有被实例化的时候调用 但是php有个很有趣的现象,静态调用非静态方法:php可以对没有声明static的方法实现静态调用。 然后看到了有人说没有加stati...
  • whd526
  • whd526
  • 2017年04月20日 11:18
  • 442

Java中static关键字的作用

Java中static关键字的作用
  • jsqfengbao
  • jsqfengbao
  • 2015年03月29日 08:45
  • 17600

Static关键字深入理解

1、static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量;另一种是没有被static修饰的变量,叫实例变量。 两者的区别是: 对于静态...
  • qq1028951741
  • qq1028951741
  • 2016年11月30日 10:05
  • 233

[javase学习笔记]-8.5 static关键字的使用场景

这一节我们来看一下在我们开发的过程中,在什么时候我们要用到static关键字进行静态修饰。 我们这里所说的静态,无非就是两种,一种是静态变量,一种是静态函数,我们分这两种情况进行说明static关...
  • fbl_csdn
  • fbl_csdn
  • 2016年01月05日 11:27
  • 1196

static关键字的意义

 static关键字在C和C++中都有,但是其意义在两者之间有比较大的区别。C语言中:如果一个变量被声明为static,并且和函数声明是同一级别,则说明这个变量的可见范围是文件作用域,另外也说明了这个...
  • lorry_cao
  • lorry_cao
  • 2006年08月16日 18:21
  • 577

Java:static关键字 类属性

知识总结: static:static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。          被st...
  • Zzwtyds
  • Zzwtyds
  • 2017年10月11日 17:10
  • 61

C++ 中的static关键字

static顾名思义是静态的意思。在这我要系统地讲述一下有关static关键字的作用,当然主要是讲述它在开发语言C与C++的作用,在其他方面的作用请另找资料。在讲解中肯定有不恰当之处,请大家大胆地扔砖...
  • wenrenhua08
  • wenrenhua08
  • 2014年10月11日 11:15
  • 2231

static关键字的使用和注意事项

static:★★★ 关键字,是一个修饰符,用于修饰成员(成员变量和成员函数)。 特点: 1,想要实现对象中的共性数据的对象共享。可以将这个数据进行静态修饰。 2,被静态修饰的成员,可以直接...
  • liyunlan33
  • liyunlan33
  • 2014年11月24日 16:24
  • 475

Static关键字作用是什么?

1 Static关键字作用 定义一个类成员,使它完全独立于该类的任何对象。 它能被类本身使用,而不必引用任何特定的实例。 2 静态成员的相关性质:在成员的声明前面加上关键字static(静...
  • stuShan
  • stuShan
  • 2015年10月15日 10:49
  • 1825
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:static关键字
举报原因:
原因补充:

(最多只允许输入30个字)