1.包
包的本质就是文件夹,作用是对类进行分类管理.
package 包名;//习惯上包名都是小写.
如果两个类不在同一个包中,就不能直接使用这个类创建对象
-
如果不导包,就写完整的路径(不推荐使用)
-
导包,在创建对象时(ctrl+shift+o)
-
不同包中相同的类名,一般不能导包,可以一个导进来,另外一个写全称.
2.访问修饰符(了解)
访问权限(从小到大):private,缺省,protected受保护的,public.
-
public,缺省. 修饰类
-
private,缺省,protected受保护的,public. 修饰成员
在本类中,对象.属性,(点语法)这种用法是可以使用的,无论访问修饰符private,缺省,protected受保护的,public.
在同包的子类中,对象.属性,(点语法)这种用法大多数是可以使用的,访问修饰符private不能使用.
在同包的其他类中,对象.属性,(点语法)这种用法大多数是可以使用的,访问修饰符private不能使用.
私有只能在本类中使用.
在跨包的类中,对象.属性,(点语法)这种用法少数是可以使用的,访问修饰符public能使用.
//缺省修饰符,被称为包修饰符,只能在同包中访问,跨包就不能访问了
总结:
-
类使用public修饰,以后一个类一个文件
-
属性使用private修饰
-
方法使用public或者个别方法不想别人用的方法使用private修饰
3.final关键字
final修饰类,说明该类是最终的类,即类不能有子类.换句话就是类不能被继承.方法不能重写.自己平时不用.final写在返回值或者class之前.或者final修饰属性,这个属性相当于一个常量,只能赋一次值.
@Override //重写与父类方法
4.static关键字
-
static含义是静态的.在Java中可以修饰属性和方法,代码块,内部类.
-
当某一个属性用static修饰时,改一个时调用的时候就会改完,共享这个属性.
-
凡是定义为静态的属性,用类名去访问(类名.静态的属性),static属于类.也可以用对象去访问,但是基本不用.
-
静态方法里面只能访问静态属性和静态的方法,不能访问非静态属性和非静态的方法.
我们应该怎么用静态
在工具类中,里面全是静态方法,直接拿类名去调用,例如:Arrays.sort(arr);功能和普通方法没有什么区别,属性不会定义成静态的.
5.代码块,静态代码块
-
局部代码块,在方法里面,改变作用域和生命周期,swich case;中也可以加上.
-
初始化代码块,再类中,创建对象的时候执行,跟其他方法并列,初始化代码块比构造方法先执行.
-
静态代码块,用static修饰的是静态代码块.static{}静态代码块属于类,只执行一遍.出现继承,先执行父类的,
6.abstract关键字
abstract单词的含义是抽象.它可以修饰方法,也可以用来修饰类.被abstract修饰的类称为抽象类,被abstract修饰的方法称作抽象方法.
-
抽象类,不能创建对象,就是不能实例化对象,抽象类生来就是为了被继承,抽象类中可以定义属性和方法.
-
抽象方法,只能存在抽象类中,抽象方法只有方法的声明,没有方法的实现.
-
抽象方法是专门为多态设计的,是专门用来被子类重写的.
-
父类没有实际意义,定义为抽象类.即不需要创建对象.用父类引用子类对象.