java静态修饰符static的使用
class Person
{
private String name;
private int age;
/*
* 假设每个Person对象的国籍都一样,
* 那么每次调用都要赋值就会不合理。
* 使用static修饰,国籍优先确立,
* 每个对象建立时,都默认赋予了该国籍。
*/
static String country = "China";
Person (String name,int age) {
this.name = name;
this.age = age;
}
public void setName (String name) {
this.name = name;
}
public String getName ()
{
return name;
}
public void setAge (int age) {
this.age = age;
}
public int getAage ()
{
return age;
}
public void show () {
System.out.println(name + "," + age);
}
/*
* 因此不需要对象调用该方法,而是使用static修饰,
* 用类Person.sleep直接调用。
* 所以:
* 函数没有访问过对象中的属性时,就用static修饰。
*/
public static void sleep()
{
System.out.println("呼呼");
}
}
class StaticDemo
{
public static void main(String[] args)
{
/*
* 如果创建对象调用sleep方法,但sleep方法并没有访问对象的属性,
* 那么该对象的建立就是无意义的。
*/
//Person p = new Person("aaa",21);
Person.sleep();
System.out.println(Person.country);
}
}
静态关键字static是成员修饰符。
特点
被static修饰的成员可以直接被类名所调用;
静态成员优先于对象存在;
静态成员随着类的加载而加载,随着类的消失而消失。静态成员生命周期很长。
注意事项
静态方法只能访问静态成员,不能访问非静态成员;非静态方法可以访问静态方法和成员变量。
静态方法中不能有this和super关键字。(原因是静态方法的建立早于对象)
主函数是静态的。
静态变量和成员变量的区别
名称上的区别
成员变量也叫实例变量;静态变量也叫类变量。
内存存储的区别
成员变量存储到堆内存的对象中,静态变量存储到方法区的静态区中。
生命周期不同
成员变量随着对象的出现而出现,随着对象的消失而消失。
静态变量随着类的出现而出现,随着类的消失而消失。
java静态修饰符static的使用的更多相关文章
- JAVA中静态修饰符static的学习(初学)
静态修饰符static,用于修饰类中的成员变量和成员函数. 用static修饰的成员变量也可叫做类变量. 什么时候使用静态 什么时候定义静态成员变量? 当对象中出现共享数据时,将该数据定义为静 ...
- java静态标示符static详解
1.static修饰的变量习惯称为静态变量,static修饰的方法称为静态方法,static修饰的代码块叫做静态代码块. 1)static变量 static变量也称作静态变量,静态变量和非静态变量的区 ...
- 修饰符-static
一.static静态修饰符 static修饰符能够修饰属性,方法,初始代码块,不能修饰局部变量和类. 静态的变量叫常量,非静态的变量叫实例变量. 1.修饰属性 package gc.test.java ...
- Java之Static静态修饰符详解
Java之Static静态修饰符详解 Java之Static静态修饰符详解 一.特点 1.随着类的加载而加载,随着类的消失而消失,生命周期最长 2.优先于对象存在 3.被所有类的对象共享 4.可以直接 ...
- 有关static静态修饰符的学习心得
初学java,面对着这个static修饰符,愣是琢磨了两天时间,还在今天琢磨透了,现在将悟到的东西记录下来: 1.static修饰符表示静态修饰符,其所修饰的内容(变量.方法.代码块暂时学到这三种)统 ...
- Javase部分回顾(static (静态修饰符),修饰方法,单利的设计模式, 封装)
static (静态修饰符) 1.修饰成员变量 静态变量的访问方式: 方式一 : 通过对象访问. 对象.变量名 ...
- Java从入门到放弃——05.修饰符static,final,权限修饰符
本文目标 static final: 权限修饰符:public,private,protected,缺省 1.static 静态修饰符,被static修饰的变量或者方法会被加载进静态区内存,不需要创建 ...
- Java的修饰符
转自:http://blog.csdn.net/manyizilin/article/details/51926230#L42 修饰符: 像其他语言一样,Java可以使用修饰符来修饰类中方法和属性.主 ...
- 访问修饰符与可选修饰符static的使用
在Java中修饰符较多,在这里简单说一说几个访问修饰符的选择使用,和可选修饰符static的使用. 一.访问修饰符:这是Java里用来控制访问类及类的方法.变量的访问权限,从而达到只暴露接口,来隐藏内 ...
随机推荐
- BPM配置故事之案例7-公式计算
行政主管发来邮件.要求物资明细表增加"单价""总价"."单价"由其审批时填写,"总价"根据"单价"与 ...
- jQuery radio的取值与赋值
取值: $("input[name='radioName']:checked").val(); 赋值: $("input[name='radioName'][value= ...
- 《MySQL必知必会》学习笔记
数据库:数据库是一种以某种有组织的方式存储的数据集合.其本质就是一个容器,通常是一个或者一组文件. 表:表示一种结构化的文件,可用来存储某种特定类型的数据. 模式:描述数据库中特定的表以及整个数据库和 ...
- 两个变量交换的四种方法(Java)
对于两种变量的交换,我发现四种方法,下面我用Java来演示一下. 1.利用第三个变量交换数值,简单的方法. (代码演示一下) class TestEV //创建一个类 { public static ...
- Linux初识
在这篇文章中你讲看到如下内容: 计算机的组成及功能: Linux发行版之间的区别和联系: Linux发行版的基础目录及功用规定: Linux系统设计的哲学思想: Linux系统上获取命令帮助,及man ...
- struts2国际化
struts2国际化 1:什么是国际化? 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式.它要求从产品中抽离所有的与语言,国家/地区和文化相关的元素 ...
- mono for android 读取网络远程图片
布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=& ...
- Enterprise Integration Pattern - 组成简介
近些年来,越来越多的Web应用正在逐渐向大型化的方向发展.它们通常都会包含一系列相互协作的子服务.在开发过程中,如何让这些子服务协同工作常常是软件开发人员所最为头疼的问题,如各个子服务之间的数据表示不 ...
- Android 学习资源
下面这些资源对Android开发来说是很有帮助的! 最常用的: Android开发官方网站:http://developer.android.com/index.html 这个网站应该是Android ...
- nginx+php 在windows下的简单配置安装
开始前的准备 PHP安装包下载:http://windows.php.net/downloads/releases/php-5.5.14-Win32-VC11-x86.zip Nginx 下载地址:h ...