重载(overload):
方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。调用时,会根据不同的参数表选择对应的方法。
权限修饰符:
多态:
多态的转型分为向上转型和向下转型两种
向上转型:
使用格式:父类类型 变量名=new 子类类型();
适用场景:当不需要面对子类类型时,通过提高扩展性,或者使用父类的功能就能完成相应的操作。
向下转型:一个已经向上转型的子类对象可以使用强制类型转换的格式,将父类引用类型转为子类引用各类型
使用格式:子类类型 变量名=(子类类型) 父类类型的变量;
适用场景:当要使用子类特有功能时。
.多态中成员的特点
多态成员变量:
Fu f=new Zi();
System.out.println(f.num);//f是Fu中的值,只能取到父中的值
2.多态成员方法:编译看左边,运行看右边
Fu f1=new Zi();
System.out.println(f1.show());//f1的门面类型是Fu,但实际类型是Zi,所以调用的是重写后的方法。
泛型:
Java泛型是Java语言的一个特性,用于在编译时期检查数据类型的安全性并提供更好的代码复用性和可读性。它允许我们在创建类、接口或方法时使用一个占位符来表示数据类型,这个占位符可以在实际使用时被具体的数据类型替代。使用泛型可以避免不必要的强制类型转换,并且可以在编译时捕获类型错误,提高代码的稳定性和可靠性。
举例如下,可以在定义List集合时使用泛型来限制集合中的元素类型:
List<String> list = new ArrayList<String>();
在上面的代码中,List的泛型类型被指定为String,这样就只能往集合中添加String类型的元素。这样可以在编译时期就避免了类型错误。
另外,泛型还可以用于创建泛型类和泛型方法。比如下面的示例代码中的GenericClass类就是一个泛型类,它可以接受不同类型的参数:
public class GenericClass<T> {
private T value;
public GenericClass(T value) {
this.value = value;
}
public T getValue() {
return value;
}
}
在上面的代码中,泛型类型T可以在创建GenericClass对象时指定为具体的类型,例如String或Integer。
总结来说,Java泛型是一种用于在编译时期检查数据类型安全性和提供代码复用性的特性,它可以应用于类、接口和方法,让我们可以更加灵活和安全地处理不同类型的数据