封装的概念:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行 交互 。(主要通过类和访问权限符进行封装)
访问权限符的介绍:
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定义的代码块称为静态代码块。一般用于初始化静态成员变量。