包 package 目录概念,箱子 package放在源文件最前面,package语句只能有一个,多层用“.”分割
如何使用package, 同包类直接引用,不同包import 包名.*; import 包名.类名 import要在package之后引用
静态引入:
引入包中的静态成员变量和静态方法,static
import static 包名.aaa.*;
import static 包名.aaa.方法名称;
类的访问级别:public(跨包),默认访问级别(包内),protect,private,abstract,final(最终修饰符:一旦被初始化就不能再被修改。)
final修饰对象类型的成员变量:必须初始化。不会被默认初始化。修饰成员变量其值是不能改变的(基本类型值不可以改变;引用类型引用不可以改变,但可以改变引用对象的成员变量)。构造方法可以给成员变量初始化。
final修饰局部变量:可以不被初始化。
final修饰方法:final修饰的方法可以被子类继承,但不可以被重写。保护了父类的某些特殊数据。
final修饰基本类型:基本类型的值不可以改变
封装:类内定义的成员变量和方法,通过限制其成员变量和方法的可见性,使得外界不能访问他们。因此封装展现了接口,隐藏了细节。
静态修饰符static:
在内存中只能有一份。
静态变量:只能存在一份,它属于类,不属于对象。静态成员变量被该类中所有的对象分享。
构造器:每次创建都会执行
访问静态成员变量:类名.静态成员变量;静态成员变量;不能使用this;
静态常量:static final 不会默认值,必须初始化
package demo; import static java.lang.System.out; public class test { public static void main(String[] args) { // TODO Auto-generated method stub out.println("通过静态引入打印数据"); } }
package demo; import static java.lang.System.out; public class test { final int i; public test(int i) { this.i = i; } public static void main(String[] args) { // TODO Auto-generated method stub out.println("通过静态引入打印数据"); test t = new test(155); int n = t.i; out.println(n); } }
package demo; import static java.lang.System.out; class bike { String color = "黄色"; public final void getMes() { out.println("父类成员变量color:" + color); } } public class test extends bike { final int i; String color = "绿色"; public test(int i) { this.i = i; } public static void main(String[] args) { // TODO Auto-generated method stub out.println("通过静态引入打印数据"); test t = new test(155); int n = t.i; out.println(n); t.getMes(); } }
java中的修饰符分为类修饰符,字段修饰符,方法修饰符。根据功能的不同,主要分为以下几种。
1、权限访问修饰符 public,protected,default,private,这四种级别的修饰符都可以用来修饰类、方法和字段。
包外 子类 包内 类内
public yes yes yes yes
protected no yes yes yes
default no no yes yes
private no no no yes
2、final修饰符 final的意思是不可变,他可以修饰类、字段、方法。修饰类后类不能被扩展(extends),也就是不能被继承。修饰字段后字段的值不能被改变,因此如果有final修饰字段,应该对字段进行手动初始化。修饰方法后该方法不能被改变,也就是重写。
3、abstract修饰符 abstract是抽象的意思,用来修饰类和方法,修饰类后,该类为抽象类,不能被实例化,必需进行扩展。修饰方法后,该方法为抽象方法必须被子类重写(override)。
4、static修饰符 static用来修饰内部类,方法,字段。修饰内部类说明该内部类属于外部类而不属于外部类的某个实例。修饰字段说明该字段属于类而不属于类实例。修饰方法说明该方法属于类而不属于类实例