1、重载
重载(Overload):指一个类中可以有多个方法具有相同的名字,但这些方法的参数不同(参数的类型和个数不同)。
可以构成重构的一些情况:
-
在同一个public类中,都具有相同的add名字,但是方法的参数不同
-
在同一个public类中,都具有相同的add名字,参数顺序不一样算重载。
-
在同一个public类中,都具有相同的add名字,和其他方法的参数数量不同,也构成了重载。
注意事项:
1.重载和返回值类型无关,只跟是否在一个类中,是否具有相同名字,是否参数不同。如果两个方法,参数一样,方法名一样,返回值类型不一样,这种不构成重载,并且会编译出错。
2.构成重载的两个方法,必须在同一个作用域中。
2、this关键字
一、this关键字主要有三个应用:
(1)this调用本类中的属性,也就是类中的成员变量;
(2)this调用本类中的其他方法;
(3)this调用本类中的其他构造方法,调用时要放在构造方法的首行。
3、构造器
构造器,进行内存的分配和变量的初始化。构造器也称构造方法
[修饰符,比如public] 类名 (参数列表,可以没有参数){
//不能有return,不会返回值也不要写void
}
java文件编译生成class文件
如果你在java文件中没有定义构造器
编译会自动生成一个默认构造器
3、1构造器的作用
完成对新对象的初始化和内存的分配
Test test = new Test();
不是创建对象,而是对对象中的值的初始化和内存分配
由于构造器是 对对象中的属性初始化的一个作用
所以可以调用构造器对对象的属性进行初始化而不是创建对象
用赋值语句进行初始化
当你new文件时候,先系统进行对象创建,然后调用构造器方法(构造器里面的语句会全部执行)
3、2有参构造器/无参构造器(默认构造器),构造器的重载
3.2.1无参构造器:默认构造器就属于无参构造器的一种
无参构造器可以在里面加点语句,初始化属性
3.2.2有参构造器:自己自定义参数给构造器,不过一旦设置了有参构造器,默认构造器则不会生成。
3.2.3构造器的重载:在定义多个构造器进行构造时,系统会根据参数的输入来确定具体调用哪个构造器,从而进行指定对象的初始化赋值。具体条件于上文重载一样。
注意:
Java语言中,每个类都至少有一个构造器
默认构造器的修饰符与所属类的修饰符一致
一旦显式定义了构造器,则系统不再提供默认构造器
一个类可以创建多个重载的构造器
4、static关键字
1、static目的
java中的static关键字主要用于内存管理。
2、static范围
使用范围:java static关键字可以用在变量、方法、代码块和嵌套类上。
作用范围:static关键字属于类,而不是类的实例。
静态(static)修饰如下:
变量:称为类变量、静态变量
方法:称为类方法、静态方法
代码块:称为静态代码块
嵌套类:称为静态内部类
5、final关键字:
- 被final修饰的全局变量,一定要被赋值且只能被赋值一次,且必须是在这个成员变量所在的类对象创建之前被赋值。
-
被final修饰的局部变量,又被称为自定义常量。常量的意思是不会被改变的量。所以,被final修饰的变量即自定义常量是不能被改变的(只能被赋值一次,后续不能更改)。
-
当final关键字修饰了成员方法,则意味着这个方法不能被重写,但是可以被继承。
-
当final关键字修饰一个类,则该类会成为最终类,即该类不能被继承。
6、权限修饰符
1、public
public是Java中最常用的访问权限修饰符,它表示公共的意思,被public修饰的类、接口、方法和变量等成员都可以被任何其他类或对象所访问。具体来说,如果一个类被声明为public,则这个类可以被从任何地方访问,无论是在同一个包内还是在不同的包内。同样地,如果一个方法、变量或者接口被声明为public,则它们也可以被其他类或对象从任何地方访问。
2、protected
protected是一种比较特殊的访问权限修饰符,它表示受保护的意思。被protected修饰的类、方法、变量或者接口只能被相同包或其子类中的类或对象所访问。也就是说,protected成员只能在定义它的类的子类中被访问,而不能在同一个包中的其他类或对象中被访问。需要注意的是,即使在子类中访问protected成员时不需要使用类名来限定,但在同一个包中的其他类或对象中访问时,仍需要使用类名来限定
3、default
default是Java中的默认访问权限修饰符,它表示不指定任何访问权限修饰符时所使用的访问权限。如果一个类、方法、变量或接口没有使用任何访问权限修饰符,则这些成员默认为包级别访问权限,也就是说,只能在同一个包内被访问。可以看出,default修饰符的作用范围介于public和protected之间,它既不像public那样对所有代码都公开可见,也不像protected那样只在子类和相同包内可见。
4、private
private是一种最严格的访问权限修饰符,它表示私有的意思,只有在定义该成员的类内部才能被访问。被private修饰的类、方法、变量或接口只能在自己的类中被调用,无法被同一个包内或者其他包中的其他类或对象所访问。需要注意的是,在一个类中,如果某个成员没有使用任何访问权限修饰符,则默认为private访问权限。
7、单例模式
单例模式有以下特点:
1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。
单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。总之,选择单例模式就是为了避免不一致状态,避免政出多头。-------引自百度百科