Java – 面向对象(下)
包
包就是文件夹,用来管理各种不同功能的 Java 类,方便后期代码维护
包名的规则:公司域名反写+包的作用,需要全部英文小写,见名知意。
cn.unsoft.domain
com.unsoft.domain
package cn.unsoft.aDemo1;
public class Animal {}
全类名即为:cn.unsoft.aDemo1.Animal
使用全类名声名对象实例
cn.unsoft.aDemo1.Animal ani = new cn.unsoft.aDemo1.Animal()
import 导包
import cn.unsoft.aDemo1.Animal
Animal ani = new Animal()
使用规则
1.使用同一个包中的类时,不需要导包。
2.使用 java.lang 包中的类时,不需要导包。
3.其他情况都需要导包。
4.如果同时使用两个包中的同名类,需要用全类名。
final 关键字
final 指的是“最终”的意思,它可以修饰三种东西
方法:表明该方法是最终方法,不能被重写
类:表明该类是最终类,不能被继承
变量:叫做常量,只能被赋值一次。
常量命名规范
1.单个单词:全部大写
2.多个单词:全部大写,单词之间用下划线隔开
细节
1.final修饰的变量是基本类型:那么变量存储的数据值不能发生改变。
2.final修饰的变量是引用类型:那么变量存储的地址值不能发生改变,对象内部可以改变。
构造代码块
Java 中代码块用 {} 大括号包裹来表示,一些局部变量只局限于代码块中执行,程序跑出了代码块后,在代码块里的局部变量将会被删除。
设计这种方式的初衷只是因为以前的机器内存非常少,内存要省着用,一些用不上的变量应该马上释放掉,而现代的计算机内存非常多,不需要急着释放,所以现在这种代码块的方式比较少用了。
public void show(){
{
String a = "局部变量";
System.out.println(a); // => 能访问并输出
}
System.out.println(a); // => 不能访问,报错
}
在类中,有一种构造代码块,它会优先于构造方法先执行
public class Animal {
String name = "动物";
{
System.out.println("在构造方法前调用");
}
public Animal(){
System.out.println("构造方法");
}
}
Animal a = new Animal();
// => 输出
"在构造方法前调用"
"构造方法"
静态代码块
需要通过 static 关键词修饰,随着类的加载而加载,并且自动触发,只执行一次
格式 : static {}
使用场景:在类加载的时候,做一些数据初始化的时候使用
共有 0 条评论