首页 技术 正文
技术 2022年11月18日
0 收藏 861 点赞 4,045 浏览 956 个字

Java学习笔记之—static

static不能修饰类,局部变量

(一)静态成员的特征

static+属性  静态属性

  1. 无论实例化出来多少个对象,都会共用同一块静态空间,类对象共享
  2. 静态成员从第一次被加载之后一直到这个类不再有任何对象被使用,也就是说被彻底的销毁的时候,才会进行资源的释放,生命周期长
public class Pig {
String name;
static int price;
}
class PigTest{
public static void main(String[] args){
Pig a=new Pig();
a.name="小乳猪";
a.price=1000;
Pig b=new Pig();
b.name="宠物猪";
b.price=500;
System.out.println(a.name+":"+a.price);
System.out.println(b.name+":"+b.price);
}

运行结果:

小乳猪:500

宠物猪:500

(二)静态成员访问方法
  1. 对象名.成员
  2. 类名.成员  (推荐使用) 静态的访问方法
(三)静态方法(类方法)

        static+方法

(四)静态方法的调用
  1. 对象名.方法
  2. 类名.方法
(五)总结

1.静态方法中不能直接访问同一个类中的非静态成员,可以通过实例化对象进行调用;只能直接调用同一个类中静态成员,

2.静态方法中不能使用this和super,this和super是对象范畴的,而静态方法是类范畴的

3.父类中的静态方法不能被子类重写

(六)静态代码块

优先级:从低到高

  1. 普通代码块:顺序执行,先出现,先执行
  2. 构造代码块:创建对象时调用,优先于构造方法执行
  3. 静态代码块:类加载时调用,优先于构造代码块执行
 
 public class Pig {    String name;   static int price;   public void eat(String name,int price){      this.price=price;      this.name=name;   }   public void run(){       System.out.println("我是普通代码块");   }    {        System.out.println("我是构造代码块");    }   static{       System.out.println("我是静态代码块");
}
}

运行结果:

我是静态代码块

我是构造代码块

我是普通代码块

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,918
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,444
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,255
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,069
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,701
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,741