static申明属性

如果有属性希望被所有对象共享,则必须将其申明为static属性。

使用static声明属性,则此属性称为全局属性,有时候也称为静态属性。

当一个类的属性申明为static的时候,由这个类产生的多个对象中属性,只需要对其中一个对象的该属性进行修改,即可以修改所有对象的这个属性。

若只申明为public,没有static的时候,则修改申明的对象的属性只修改一个,申明为private的时候报错,因为该属性私有化,不能被方法所调用。

在调用static申明的属性的时候,最好通过类名称来直接调用,因为通过对象来调用不知道该类产生了多少的对象,这样子不太好,所以又把static声明的属性称为类属性,调用的格式位Person_1.coountry="B city";

class Person_1{
private String name;
private int age;
static String country = "A city"; public Person_1(String n,int a){
this.name = n;
this.age = a;
} public void info(){
System.out.println("name:"+this.name+"\t"+"age:"+this.age+"\t"+"city:"+this.country);
}
}; public class static_test { public static void main(String[] args) {
// TODO 自动生成的方法存根
Person_1 p1 = new Person_1("zhangsan",30);
Person_1 p2 = new Person_1("wangwu",40);
p1.info();
p2.info();
p1.country = "B city";
p1.info();
p2.info();
} }

输出

name:zhangsan	age:30	city:A city
name:wangwu age:40 city:A city
name:zhangsan age:30 city:B city
name:wangwu age:40 city:B city

Java中的常用的内存区域

  <1>栈内存空间:保存所有的对象名称(更准确的说是保存了引用的堆内存空间的地址)

  <2>堆内存空间:保存每个对象的具体属性内容

  <3>全局数据区:保存static类型的属性

  <4>全局代码区:保存所有的方法定义

Java其他关键字

public:表示此方法可以被外部调用

static:表示此方法可以由类名称直接调用

void:主方法是程序的起点,所以不需要任何的返回值

main:系统规定好默认调用的方法名称,执行时默认找到main方法名称

String arg[]:表示的是运行 时的参数。参数传递的形式为“Java类名称 参数1 参数2...”

static申明方法  

使用static申明的方法又称为类方法,Person_1.setCountry("B city"); 同时修改多个对象的属性

非static声明的方法可以去调用static声明的属性或方法

但是static声明的方法是不能调用非static类型声明的属性或者方法的

class Person_1{
private String name;
private int age;
public static String country = "A city"; public static void setCountry(String c){
country = c;
} public static String getCountry(){
return country;
} public Person_1(String n,int a){
this.name = n;
this.age = a;
} public void info(){
System.out.println("name:"+this.name+"\t"+"age:"+this.age+"\t"+"city:"+this.country);
}
}; public class static_test { public static void main(String[] args) {
// TODO 自动生成的方法存根
Person_1 p1 = new Person_1("zhangsan",30);
Person_1 p2 = new Person_1("wangwu",40);
p1.info();
p2.info();
//p1.country = "B city";
Person_1.setCountry("B city");
p1.info();
p2.info();
} }

可以通过static还统计实例化了多少个对象

class demo{
private static int count = 0;
public demo(){
count++;
System.out.println("No."+count);
}
} public class static_count { public static void main(String[] args) {
// TODO 自动生成的方法存根
new demo();
new demo();
new demo();
} }

给主方法的args传递参数,然后统计传递的参数的个数

public class HelloWprdApp {

	public static void main(String[] args) {
// TODO Auto-generated method stub
int num = 0,sum = 0;
char num1 = 97; if(args.length != 3){
System.out.println("<3");
System.exit(1);
} for(int i=0;i<args.length;i++){
System.out.println("name:"+args[i]);
}
}
}

Java关键字——static的更多相关文章

  1. java关键字static使用总结

    java关键字static使用总结 1.static修饰的方法被称之为静态方法也叫做类方法,加static的方法,可以通过类名直接访问,不加static的方法只能通过对象名访问. 静态方法可以直接通过 ...

  2. java笔记——Java关键字static、final使用小结

    static  1. static变量     按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的 ...

  3. Java关键字--static

    在Java中,将关键字static分为三部分进行讨论,分别为Java静态变量.Java静态方法.Java静态类 Java Static Variables Java instance variable ...

  4. Java关键字static、final

    static  1. static变量     按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的 ...

  5. Java关键字static、final使用小结

    static  1. static变量     按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的 ...

  6. [JAVA关键字] static & final

    JAVA十分常见的关键字static & final 总的来说final表示常量,即不可更改的:而static表示静态,即全局的 1. final 类:不能被继承 2. final 方法:能被 ...

  7. Java 关键字 static

    关键字static作用如下: 1. 为某个基本数据类型或对象分配单一的存储空间. 2. 实现某个属性或方法与类关联.在类被加载后类名可以直接调用静态成员方法(下面简称静态方法)或者访问静态成员变量(下 ...

  8. java 关键字static

    在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,当然也可以修饰代码块. Java把内存分为栈内存和堆内存, 栈内存用来存放一些基本类型的变量.数组和对象的引用, 堆 ...

  9. java关键字“static”

    Java中static使用方法 1.static静态变量 静态变量:每个类只有一个,所有实例共享: 实例变量:每个实例只有一个: package test2; import java.lang.Str ...

随机推荐

  1. SpringMVC学习--入门程序

    前面基本介绍了下SpringMVC的运行原理,现在按照前面的原理一步步实现一个简单的程序.先搭建一个简单的web工程,将spring的jar包导入项目中. 前端控制器配置 在web.xml中配置如下: ...

  2. springMVC+mybatis 增删该操作后判断影响行数一直返回-2147482646

    MyBatis发现更新和插入返回值一直为"-2147482646"的错误是由defaultExecutorType设置引起的,如果设置为BATCH,更新返回值就会丢失.mybati ...

  3. 02python算法-二分法简介

    老规矩: 什么是二分法: 其实是一个数学领域的词,但是在计算机领域也有广泛的使用. 为什么需要二分法? 当穷举算法性能让你崩溃时. 二分法怎么用呢? 让我们先玩一个游戏先,我心里想一个100以内的整数 ...

  4. jquery-ui-处理拖动位置Droppable,Draggable

    一.效果.如下图中,各途中可相互拖拉,右下角可删除.注意图1和图2对比区别 图1 图2 二.源码详解 html源码 <!DOCTYPE html> <html> <hea ...

  5. SpringMVC与Struts2区别与比较总结

    1.Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上Spr ...

  6. skiing

    package noj_skiing; import java.util.*; import java.math.*; public class Main { public static void m ...

  7. [bzoj4408][Fjoi2016]神秘数

    Description 一个可重复数字集合$S$的神秘数定义为最小的不能被$S$的子集的和表示的正整数. 例如$S={1,1,1,4,13}$, $1=1$, $2=1+1$, $3=1+1+1$, ...

  8. [bzoj1010][HNOI2008]玩具装箱

    Description 有个物品,每个物品长度为,现在要把这个物品划分成若干组,每组中的物品编号是连续的,规定每组的长度,费用为,求最小费用. Input 第一行输入两个整数和,接下来行输入. Out ...

  9. 良精南方cms /inc/Check_Sql.asp SQL Injection Based On Cookie

    catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 Relevant Link:2. 漏洞触发条件 0x1: POC usi ...

  10. iOS 即时通讯SDK的集成,快速搭建自己的聊天系统

    现在的外包项目需求变态的各种各样,今天要做社交,明天要加电商,后天又要加直播了,这些系统如果要自己开发,除非大公司技术和人力都够,不然短时间是几乎实现不了的.所以学会灵活利用市面上的各种SDK是灰常重 ...