一.Static
静态的
出现早(进内存时)---只出现一次
1.java的数据存储的模式
package com.fy;
public class StaticDemo {
static {
System.out.println("静态代码块");
}
{
System.out.println("代码块...");
}
public StaticDemo(){
System.out.println("无参构造器...");
}
public static void main(String[] args) {
StaticDemo s = new StaticDemo();
StaticDemo s1 = new StaticDemo();
}
}
bank
1.第一种(每家银行10000块钱)
package com.fy;
public class Bank {
private double balance = 10000.00;
@Override
public String toString() {
return "Bank{" +
"balance=" + balance +
'}';
}
public void withdraw(double money){
balance-=money;
}
public void deposit(double money){
balance+=money;
}
}
2.第二种
static变成公共空间,有类产生的对象共享数据
private static double balance = 10000.00;
package com.fy;
public class TestBank {
public static void main(String[] args) {
Bank icbc = new Bank();
Bank abc = new Bank();
Bank cmb = new Bank();
icbc.withdraw(1000);
abc.withdraw(1500);
cmb.withdraw(2000);
System.out.println(abc);
}
}
this:当前对象的引用
this.name:当前对象的name属性
3.使用场景
辅助类 创建一个类用来完成输入
(1)输入一个字符串
sc.nextLine();
(2)输入一个数字--->int
Integer.parseInt(sc.nextLine);
(3)输入一个浮点数--->double
Double.parseDouble(sc.nextLine);
三.final
最终的,不可变。类似于C语言const
常量的缺点,不能表示具体的意思。
符号常量,变量+final----》不可变的量
对final修饰的变量使用大XXX_YYY
1.出现在变量前(方法)
final int a = 3;
a = 4;//报错
2.出现在引用前
引用永久绑定当前对象
final Car c = new Car();
c= new Car();
c=null;
3.出现在属性
属性必须初始化
不能使用set赋值
四.访问控制符
高内聚,低耦合
private(默认)[protected] public
五.this关键字
可以调用构造器
tip:this()一定出现在第一句。
六.包装类型
对象版的八个数据类型
1.int为例
Integer a = null; //引用类型初始值null
public static int parseInt(String s) throws NumberFormatException {
return parseInt(s,10);
}
2.包装
基本类型---》包装类型
int a = 3;
Integer b = a; //Integer.valueOf(a)
3.拆包
包装类型---》基本类型
intValue()