1.修饰符包其实就是文件夹
//自动建包
javac -d . HelloWorld.java
//导包
import com.it.Student;
2.修饰符
- 四种权限修饰符:private<默认<protected<public;
- private只能在本类中被访问;
- 同一个包下无关类除private其他都能被访问;如果是不同包下,子类只能访问protected以及public类;
- 状态修饰符:final修饰的方法是最终方法,不可以被重写;
- final修饰的变量是一个常量,不能再改变;
- final修饰类表示最终类,不能拥有子类;
- final修饰基本类型变量以及引用类型变量(final Student s=new Student();,固定的是s中地址的值,地址不变,但地址里面的内容可变):
- static是静态的,可以修饰成员变量和成员方法;当用static修饰成员变量时,被类中所有对象共享,推荐直接使用类来调用;
静态方法只能访问静态变量以及静态方法,因为main方法是静态的,所以其它方法也得是静态的。public static void 方法名(参数名){方法;}。
3.多态中成员访问特点
成员变量:编译看左边,运行看左边;
- 成员方法:编译看左边,运行看右边;
-
4.抽象类(抽象修饰符:abstract)
一个类中的没有方法体的叫抽象方法,抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类;
- 抽象类如何创建对象,抽象类如何实例化?答:参考多态的写法,建立继承关系—要么子类重写父类中的抽象方法,要么子类就为一个抽象类;
- 抽象类中成员特点:成员变量(变量、常量),成员方法(抽象方法、非抽象方法:提升代码复用性)以及构造方法(不能直接实例化,用于子类访问父类数据的初始化);
父类中的抽象方法限制子类一定要重写该方法,有助于抽象类对象进行实例化;
5.接口与实现(implements)
公共的规范,对行为的抽象;
- 接口的实现类:要么重写接口中的所有抽象方法,要么是抽象类;
- 接口当中成员变量默认被final修饰,是常量;
- 接口可以直接访问成员变量说明,被static修饰,是静态的;
- Object()无参构造方法是所有类的父类;
- 接口中构造方法只能是抽象方法,默认修饰符:public abstract;
-
6.类和接口的关系
一个类可以实现多个接口;
- 接口与接口是继承关系,并且是可以多继承的;
- 抽象和接口的联合使用:固有的属性用抽象类,特有的功能用接口去实现;
- 抽象类是对事物的抽象,接口是对行为的抽象;
- 设计模式:从具体到抽象