封装的概念:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行 交互 。(主要通过类和访问权限符进行封装)
访问权限符的介绍:
public:相同/不同包中的子类/非子类都可使用。(可以类比自己的外貌)
protected:在不同包中的非子类不可使用。
private:只能在相一个包的同一类中使用。
default:什么都不写时的属性。
包的概念:包是对类、接口等的封装机制的体现,是一种对类或者接口等的很好的组织方式,比如:一 个包中的类不想被其他包中的类使用。包还有一个重要的作用:在同一个工程中允许存在相同名称的类,只要处在 不同的包中即可。
导入包中的类:可以使用import语句导入包。
ex1:
import java.util.Date;
public class Test {
public static void main(String[] args) {
Date date = new Date();
// 得到一个毫秒级别的时间戳
System.out.println(date.getTime());
}
}
static的介绍:
1.1:static修饰成员变量:
Student 类中定义的成员变量,每个对象中都会包含一份 ( 称之为实例变量)。在java中被static中修饰的的成员,称之为静态成员,亦可称为类成员。 ,其不属于某个具体的对 象,是所有对象所共享的 。
1.2:static修饰成员方法:
Java 中, 被 static 修饰的成员方法称为静态成员方法,是类的方法,不是某个对象所特有的 。静态成员一般是通过 静态方法来访问的。
【 静态方法特性 】
1. 不属于某个具体的对象,是类方法。
2. 可以通过对象调用,也可以通过类名 . 静态方法名 (...) 方式调用,更推荐使用后者。
3. 不能在静态方法中访问任何非静态成员变量。
Ex1:
4. 静态方法中不能调用任何非静态方法,因为非静态方法有 this 参数,在静态方法中调用时候无法传递 this 引用.
Ex2:
public static String getClassRoom(){
doClass();
return classRoom;
}
// 编译报错:Error:(35, 9) java: 无法从静态上下文中引用非静态 方法 doClass()
2.0:static成员变量初始化:
初始化方法有两种:就地初始化和静态代码块初始化。
就地初始化:在定义时直接给出初始值。
静态代码块初始化。
就地初始化:
代码块的概念以及分类:
概念:使用{}定义的一段代码称为代码块。
分类:1.普通代码块
2.构造代码块/实例代码块
3.静态代码块
普通代码块:定义在方法中的代码块
public class Main{
public static void main(String[] args) {
{ //直接使用{}定义,普通方法块
int x = 10 ;
System.out.println("x1 = " +x);
}
构造代码块:定义在类中的代码块(不加修饰符)。
静态代码块: 使用 static定义的代码块称为静态代码块。一般用于初始化静态成员变量。