@author 作者(如:张三)
@version 版本(如:1.0)
@param 参数
重写:override:要存在子父类关系;子类定义了跟父类完全相同的方法:返回值类型 方法名 形参列表完全相同,跟父类相同
重载:overload:在一个类中,定义:方法名相同,参数列表不完全相同。重载跟返回值类型无关。
代码块分类:
局部代码块:在某个方法中,或者某个代码块中;作用:限制变量的声明周期
main(String args){
{
int num = 10;
System.out.println(num);
}
System.out.println("hello");
//num变量已经不存在,可以释放内存
{
int num = 20;
System.out.println(num);
}
}
构造代码块:定义在类体中;执行:每次实例化这个类的对象时,都会被执行一次。作用
一般也是用于类的初始化操作,跟构造方法的作用一样。区别:构造代码块不能带参数。
注意:如果跟构造方法同时存在,先执行构造代码块。
class Student{
String name;
//构造代码块
{
System.out.println("Student的构造代码块。。。。");
}
}
静态代码块:定义在类体中,使用static修饰的一个代码块;
执行:第一次使用这个类的时候,会被执行一次,之后就不在被执行。
作用:用于初始化静态成员,它可以访问成员变量,但仍然只能访问静态成员变量。、
注意:执行顺序 静态代码块-------构造代码块-----构造方法
static{
System.out.println();
}
多态必须要有继承关系;
多态是指父类类型的变量存储了子类对象的引用:
创建对象的格式:
假设 Person父类 Student子类
Student st = new Student();
Person p = new Student();
Person p = new Person();
子类的成员覆盖父类的成员时(Person p = new Student();):
1.成员变量:编译看左边(父类必须要有,否则编译错误),运行看左边(运行时,打印的值是父类的);
2.成员方法:编译看左边(父类必须要有,否则编译错误),运行看右边(运行时,打印的值是子类的);跟对象走的
3.静态方法:编译看左边(父类必须要有,否则编译错误),运行看左边(运行时,打印的值是父类的)。跟类走的
多态中父类的引用不能访问子类的特有属性,但是可以通过强制转换转换成它所存储的子类对象的引用。
Class Animal; Class Cat extends Animal; Class Dog extends Animal
判断关键字:instanceof(只能用于引用类型的引用)格式:
变量 instanceof 某类类型
Animal a = new Cat();
if(a instanceof Cat){
Cat a = (Cat)a;
c.eat();
}
返回:boolean值:如果为true:表示左边的变量是右边的某类类型,可以安全强制转换。
如果为false:表示右边的变量不是右边的某类类型。
abstract关键字不能和哪些关键字共存??
1.private:abstract方法就是需要被子类重写,一个private的方法不能被子类重写
2.final:同上
3.static:一个静态的方法,在没有对象的情况下,就会被分配空间;而一个抽象的方法没有方法体,无法被分配空间。所以,一个抽象方法不能被定义成静态。
接口(interface):
1.如果一个类中包含的全部都是抽象方法,可以将这个类定义为接口。
2.接口中的成员变量,必须被public static final 修饰,如果不写,JVM会自动添加,如 :public static final int num = 10;
成员方法,必须被public abstract 修饰,如果不写,JVM会自动添加。
3.类实现接口的关键字:implements。 如:class Cat implements IAnimal{ }
4.接口继承接口:extends,允许多继承。 如:interface A extends B,C{ }
当类名做为形式参数时,可以将本类或者本类的子类的对象作为实际参数传入到方法中运行,因为null可以作为任何的引用类型当做参数传递,所以需要判断输入对象不为null才可以编译运行。
当接口作为方法的形式参数时,只能将接口的子类对象作为实参传入,同样需要判断是否为null以提高代码的健壮性。
方法的返回值是一个类类型,它可以返回:1.此类对象的引用 2.此类子类对象的引用 3.null 同理为了提高代码的健壮性,需要使用if(i!=null){i.show}判断之后调用方法。
|
|