Java_封装

Java-封装
  将类的某些信息进行隐藏,不允许外部程序进行直接的访问;
  只能通过特定的借口进行访问;
  银行的ATM机:储户无法直接拿到ATM中money 但通过特定的银行卡的密码和基本的操作就可以轻松的取出money;
Java包:文佳管理 解决要创建同名类问题
  定义包:package 包名;必须在源文件的第一行;
  引入包:使用import 包名;
  import com.animal.Cat; 表示调用animal包中的Cat类
  import com.cat.mechanical*; *表示导入当前包下的所有Java文件 进行调用时,优先级低于直接调用类
关键字:static:静态的
  static 成员:静态成员(类成员):所有对象共用同一块存储空间;随着类的销毁才消亡,生命周期长
  调用 静态成员:类名.成员 Cat.price Cat是类名
  对象名.成员(不推荐)
  static 方法:静态方法(类方法)
  调用 静态方法:类名.方法 Cat.add Cat是类名
  对象名.方法(不推荐)
  static 不能修饰类,无法修饰局部变量
静态方法:不能直接访问同一个非静态成员.静态方法中不能使用this关键字.无法调用普通成员方法,普通成员方法可以调用静态属性和方法;
  如何在静态方法中调用非静态成员:实例化一个对象,通过对象进行调用
代码块:出现{}对,叫代码块
  在方法中定义:普通代码块,顺序执行
  在类中定义:构造代码块,实例化对象时执行,调用顺序优于构造方法.相同构造代码块顺序执行.
static 构造代码块;静态代码块 最先执行,且只执行一次.静态代码块之间按顺序执行
  静态代码块中无法直接调用非静态成员,调用方法如下:

代码块执行顺序:

public class StaticDemo {
    {
        System.out.println("我是普通构造代码块2");
    }
    {
        System.out.println("我是普通构造代码块1");
    }
    
    static {
        System.out.println("我是静态构造代码块2");
    }
    
    static {
        System.out.println("我是静态构造代码块1");
    }
    
    //成员方法
    public void pub() {
        
    }
    //静态方法
    static void sta() {
    }
    public static void main(String[] args) {
        StaticDemo st = new StaticDemo();
    }
}

运行结果:

原文地址:https://www.cnblogs.com/conglingkaishi/p/9220474.html