字面量
定义:数据在程序中的书写格式
分类
制表符:\t
无限循环
for(;;){
System.out.println("");
}
while(true){
System.out.println("");
}
do{
System.out.println("");
}while(true);
跳转循环语句
continue:结束本次循环,继续下次循环。
break:结束整个循环。
方法基本内容
方法重载
内容:在一个类中,具有相同的方法名和不同形参的方法构成方法的重载
规则:1.方法名要相同
2.参数不同(个数、类型、参数排列顺序等)
3.返回类型可以相同
构造函数
1.构造函数名称必须与所属类名称相同
2.构造函数是方法,无返回数据(内容无return),也无前置void
3.构造函数所属类被创建对象初始化运行时,即使不调用构造函数,其也会同时运行
4.系统会自动给予一个默认的隐藏空白构造函数
this关键字
通过this关键字来调用当前对象的属性,方法以及构造器。同时在有参构造器中也是通过this来对全局属性进行赋值。
1.this关键字调用成员变量
可以通过this调用成员变量,解决了局部变量名称的冲突问题。
2.this关键字调用成员方法
可以在一个方法中调用本类中的另一个方法。
3.this关键字调用构造器
可以通过this关键字调用本类的构造器。
super关键字
super关键字可以访问父类的成员变量,成员方法和构造器
1.super关键字调用父类的成员变量
语法格式:
super.属性名;
2.super关键字调用父类的成员方法
super.方法名([参数1],[参数2]...);
3.super关键字调用父类的构造器
super([参数1],[参数2]...);
注意:
-
super调用构造器时必须方法构造器的首行位置。
-
this和super调用构造器不能同时出现。
-
super访问父类成员,父类没有该成员则向上查找(父类),直到找到为止,否则报错。
类
1、private:访问权限最低的访问控制符,被它修饰的变量只能访问本类的对象。 2、public:访问权限最高,不仅是本类,子类,本包,其他的包,都可以去访问它修饰的对象。
3、default:访问权限限制在本类以及本包内。
4、protected:访问的范围是本类,本包内,子类,但别的包不可以访问。
嵌套类
定义:类B存在于类A范围内,则类B是类A的“嵌套类”
嵌套类的种类有两种:静态成员类
、非静态成员类
。非静态成员类被称为内部类。
1.类B存在,类A必同时存在。B是A的成员类;A是B的外部类
2.类A存在,类B不一定存在。两者不是直属关系
成员类
1.创建子类新对象
MainClass M = new MainClass();
MainClass.SubClass S = M.new SubClass();
2.成员类可直接访问所属外部类中的变量,反之不可
内部类
定义:将一个类定义在一个类或者一个方法里面,这样的类称着内部类
目的:内部类主要解决Java不能多重继承的问题。
分类:
1.成员内部类:成员内部类可以访问外部类所有的属性和方法。但是外部类要访问成员内部类的属性和方法,必须要先实例化成员内部类。
注意: 成员内部类里面不能包含静态的属性和方法
2.静态内部类:静态内部类就是在成员内部类多加了一个 static 关键字。静态内部类只能访问外部类的静态成员变量和方法(包括私有静态)
3.匿名内部类:没有名字的类
当一个内部类需要继承或者实现,而且只使用一次的时候,可以考虑使用匿名内部类。调用的时候直接使用父类的无参构造,并重写父类方法。
4.局部内部类:局部内部类就是定义在代码块内的一个内部类。比如在方法里面定义一个内部类,就是局部内部类。
注意:局部内部类的作用范围仅仅就在它所在的代码块里。局部内部类不能被public ,protected,private以及static修饰,但是可以被final修饰。
抽象类(abstract)
1.抽象类不得用于产生新对象,但可以被子类继承,由子类产生新对象
2.抽象方法不得有内容程序代码(即 abstract int num(); )
3.继承的子类要重写抽象父类的抽象方法
4.若类中有某一个抽象方法,则该类即为抽象类,必须前置abstract
接口类(interface)
1.接口类中只允许有内部方法且内部方法只有名称(无内容代码)
例:
Interface a{
public void f();
}
2.一个类可同时实现多个接口类
3.implements和extends可同时使用
final
1.final放在类(Class)前时,该类不能被继承
2.final放在方法前时,该方法不能被覆盖
3。final放在变量前时,该变量只能初始化一次,即常量
多态
1.定义:多态是指不同的子类在继承父类后分别都重写覆盖了父类的方法,即父类同一个方法,在继承的子类中表现出不同的形式。
2.多态存在的三个必要条件
-
继承或实现:在多态中必须存在有继承或实现关系的子类和父类
-
方法的重写:子类对父类中的某些方法进行重新定义(重写,使用@Override注解进行重写)
-
基类引用指向派生类对象,即父类引用指向子类对象,父类类型:指子类对象继承的父类类型,或实现的父接口类型
3.多态的格式
父类类型 变量名 = new 子类类型();
然后通过 变量名.方法名()调用在子类中重写的方法
*多态体现为父类引用变量可以指向子类对象:*定义了一个父类类型的引用,指向新建的子类类型的对象,由于子类是继承他的父类的,所以父类类型的引用是可以指向子类类型的对象的
4.多态中的成员特点 例: 此处举例Animal是父类,Dog是子类
-
Animal dog = new Dog(); //Animal是引用类型,Dog是实际类型
-
System.out.println(dog.age) //dog的引用类型是Animal,所以取到的是父类Animal中的值,说白了dog是属于Animal类,Animal中变量的值是多少就通过对象就取得多少