前言
接着学习Java面向对象之封装staitic关键字。
目录
提示:以下是本篇文章正文内容,下面案例可供参考
一、static关键字的特点
1.用来修饰类的成员——修饰成员变量的成为类变量(静态变量);
2.修饰成员方法称之为类方法(静态方法);
3.当类被加载的时候就会被加载,优先于对象的存在;
4.用来修饰语句块——称之为静态代码块,先于构造方法之前执行,只会执行一次,用来对静态变量初始化;
5.调用的时候可以直接通过类名、成员来进行访问。
二、具体代码示例
1.特点1、5
代码如下(示例):
class person{
static int age;//静态变量
private String name;//声明私有属性
public person(int age,String name){
System.out.println("调用有参构造方法\n");
this.age = age;
this.name = name;
}
public void print(){
System.out.println("age="+this.age+",name="+this.name);
}
}
public class Teststatic {
public static void main(String[] args) {
person datas = new person(18,"迅捷");
datas.print();
person.age = 18;//类名方式访问成员变量
}
}
2.特点2
代码如下(示例):
public class Teststatic {
public static void main(String[] args) {
person datas = new person(18,"迅捷");
//datas.print();
//person.age = 18;//类名方式访问成员变量
Teststatic p = new Teststatic();//不用static必须实例化对象
System.out.println("cnt="+p.add(1,2));
System.out.println("ret="+add1(4,3));
}
int add(int a,int b){
return a+b;
}
static int add1(int a,int b){
return a+b;
}
3.特点4
代码示例
class person{
static int age;//静态变量
private String name;//声明私有属性
public person(int age,String name){
System.out.println("构造方法");
this.age = age;
this.name = name;
}
static{//静态代码块
System.out.println("静态代码块");
}
public void print(){
System.out.println("age="+this.age+",name="+this.name);
}
}
public class Teststatic {
public static void main(String[] args) {
person datas = new person(18,"迅捷");
}
}
2.运行结果
先于构造方法之前执行
总结
static关键字注意事项:
1.静态方法中只能访问外部的静态成员;
2.静态方法中不能出现this关键字。