包的存在
package
开发的时候会有很多的类,如果把所有的类放在一起,不便管理,而且很容易出错
包实际上就是通常所说的文件夹。
在文件夹里面分类存放class就是包的功能
例如,老师这个类里面,有不同功能的老师,基础老师,发展老师和教授,他们的权限也是不同的,就需要分类管理。
其他的也是按其他的属性进行管理。
包的使用
package 包名;
这个要放在第一行
- 包使用的注意事项
A:package语句必须是程序的第一条可执行的代码
B:package语句在一个java文件中只能有一个
C:如果没有package,默认表示无包名
import关键字的使用
通俗来说就是导包
让有包的类对调用者可见,不用写全类名了
导包后类对于类就可见了
- 导包应该在开头就写上,便于逻辑
四种权限修饰
在上一天已经说过了
我们需要把这些修饰符全部都记住,这是必要的。
A:修饰符:
权限修饰符:private,默认的,protected,public
状态修饰符:static,final
抽象修饰符:abstract
B:修饰类的关键字:
权限修饰符:默认修饰符,public
状态修饰符:final
抽象修饰符:abstract
用的最多的就是:public
C:修饰成员变量的关键字:
权限修饰符:private,默认的,protected,public
状态修饰符:static,final
用的最多的就是:private
D:修饰构造方法的关键字:
权限修饰符:private,默认的,protected,public
用的最多的就是:public
E:修饰成员方法的关键字:
权限修饰符:private,默认的,protected,public
状态修饰符:static,final
抽象修饰符:abstract
用的最多的就是:public
F:除此以外的组合规则:
成员变量:public static final
成员方法:public static
public abstract
public final
内部类的使用
顾名思义,内部类就是在类的内部定义的一个新类。
内部类分为成员内部类和局部内部类
内部类的访问特点如下:
a:内部类可以直接访问外部类的成员,包括私有。
b:外部类要访问内部类的成员,必须创建对象。
匿名内部类是局部内部类的简化写法。
本质是一个继承了该类或者实现了该接口的子类匿名对象。
最后我们对this关键字进行一下分析:
类的构造函数的形参名一般和相对应的成员变量名相同,这是一种好的编程习惯,是为了让人一眼就可以看出哪个形参对应哪个成员变量。起其它名字就没有这么直观了.
另外,this的作用绝不仅限于此,它还被用于构造函数的相互调用中。
例子如下:
class Mobile
{
public String brand;//品牌
public String model;//型号
}
class NokiaMobile extends Mobile
{
public NokiaMobile()
{
this.brand="nokia";
}
public NokiaMobile(String model)//形参名也用model是为了告诉方法调用者这个参数对应着成员变量model
{
this();//要调用本类的另一个构造方法,必须使用this,别无他法
this.model=model;
}
}
this的作用是返回当前类对象的实例,super是返回父类的.
这里可以看一下这里
引用知乎,对this关键字讲解很详细,思路也很清楚。
但是还是需要自己的理解。
https://zhuanlan.zhihu.com/p/62779357