Java的几个简单概念
一、类的继承:子类继承父类的属性和方法,一般格式:
访问修饰符 class 子类名 extends 父类名{
}
如在定义了父类学生的属性和方法后,若要定义一个高中生类,则无需重新定义高中生类的属性和方法,避免代码冗余,节省时间。用代码:
public class HIStudent extends Student(){
}
二、方法的重写:子类继承了父类的方法,但是就比如学生有小学、高中之分,学习和玩的方法有所改变,所以子类继承父类的方法有时需要重写,重写时,方法的返回值类型、方法名、参数个数和参数类型和父类的完全相同。
public void study(){
System.out.println("高中有了物理和化学");
}
三、重写和重载的区别:
1.重载在同一个类中,而重写在不同的类中。
2.重写发生在有继承关系的两个类中,子类继承父类的方法可以重写。
3.重写的两个方法返回值、参数类表必须完全一样,重载的返回值类型和参数类表可以不一样。
四、自动转型:便于多个子类继承父类时,方法的调用。如:
Student hiS=new HIStudent();
自动转型唯一的缺点是不能调用子类自己定义的方法。
五、多态:它是由于方法的重载、类的继承、方法的重写以及自动转型导致的执行结果不同,这种现象就是java的多态性。
六、接口和类的区别:
1.接口定义的关键字是interface,定义类的关键字是class
2.实现接口的关键字是implements,继承类的关键字是extends
3.接口中所有的方法必须是抽象的,类的方法必须是有具体的实现
4.接口可以继承多个接口,类只能继承一个类,但是可以实现多个接口。
5.接口中没有属性,只有常量和没有实现的方法,类中有属性和方法。
七、值传递与应用传递的区别:
1.值传递适用于java的基本数据类型。应用传递使用于java的引用类型,有:数组、interface、抽象类、类。
2.值传递中,变量参数相当于拷贝入构造方法,构造方法内参数值变化,并不影响其原来的值。一个对象可以有多个引用。而应用传递传递给函数的是地址,当函数内其值改变时,原来的值也会改变。