针对于具体对象的属性称之为对象属性,成员属性,实例属性
针对于具体对象的方法称之为对象方法,成员方法,实例方法
把和对象无关,只和类相关的称之为静态
和类相关的属性称之为静态属性
和类相关的方法称之为静态方法
静态语法就是在属性和方法前增加static关键字
先有类,再有对象
成员方法可以访问静态属性和静态方法
静态方法不可以访问成员属性和成员方法
Test t = new Test();
t.sex = "女";
t.test();
//t.test1();
//Test.test1();
class Test{
String name;
static String sex;
void test() {
//test1();
//System.out.println(sex);
System.out.println("test...");
}
static void test1() {
//System.out.println("test1...");
}
}
类的信息加载完成后,会自动调用静态代码块,可以完成静态代码块的初始化功能
对象准备创建时,也会自动调用代码块,但不是静态的
User08.test();
class User08 {
static {
// 静态代码块
System.out.println("静态代码块执行1");
}
static {
// 静态代码块
System.out.println("静态代码块执行2");
}
static void test() {
System.out.println("test ...");
}
{
System.out.println("代码块执行1");
}
static {
// 静态代码块
System.out.println("静态代码块执行3");
}
{
System.out.println("代码块执行2");
}
}
静态代码块执行1
静态代码块执行2
静态代码块执行3
test ...
new User08();
class User08 {
static {
// 静态代码块
System.out.println("静态代码块执行1");
}
static {
// 静态代码块
System.out.println("静态代码块执行2");
}
static void test() {
System.out.println("test ...");
}
{
System.out.println("代码块执行1");
}
static {
// 静态代码块
System.out.println("静态代码块执行3");
}
{
System.out.println("代码块执行2");
}
}
静态代码块执行1
静态代码块执行2
静态代码块执行3
代码块执行1
代码块执行2
package - 包
package中容纳类
基本语法: package 包完整路径;
路径中的多个包使用点隔开
java.lang.Object
主要功能用于分类管理
一个类可以没有包,但是package不可以在同一个源码文件中使用多次
包名为了区分类名,所以一般都是小写
java.lang.Object
Java中存在不同包的相同名称的类,可以使用包进行区分
一般情况下,在使用类的情况下,我们都会使用类的全名(包名+类型)
new java.util.Date();