数组的复制
Java中数组
复制是通过静态函数 copyOf(type[] original,int lentgh)实现的
数组的填充
实现了数组部分或全部空间的填充,Java提供了一种方法两种形式
Fill(type[] a,type b)表示吧a的全部空间填充为b
Fill(type[] a,int key1,int key2,type b)表示把a的key1到key2的全部空间填充为b,但不包括key2的位置
方法的重写:
1、在继承中也存在着重写的概念,其实就是子类定义了和父类同名的方法
2、定义:方法名称相同,返回值类型相同,参数也相同。
3、重写限制
被子类重写的方法不能拥有比父类更加严格的访问权限
4、private<default<public
三者访问权限的作用域:
Private只能在本类中访问
Default同一个包下都可以访问
Public 同一个工程下面都可以访问
Super关键字
强行调用父类的方法执行
Super不一定在重写中使用,也可以表示那些方法是从父类继承下来的
重写(overriding)与重载(overloading)的区别
1、重载:方法名称相同,但参数的类型和个数不同
重写:方法名称,参数类型和返回值类型全部相同
2、重载权限没有要求,重写被子类重写的方法不能拥有比父类更加严格的访问权限
3、位置:重载在一个类中
重写在继承中才有、
Final 关键字
1、final关键字在Java中被称为完结器,表示最终的意思
2、Final声明类,函数,变量
Final声明的类不能被继承
Final声明的函数不能被重写
Final 声明的变量变成常量,常量是不能被修改的
被final修饰的变量规定都用大写
抽象类
1、抽象类的概念:包含一个抽象方法的类叫做抽象类
2、抽象方法:声明而未被实现的函数,抽象方法必须使用abstract关键字声明。
3、抽象类被子类继承,子类必须重写抽象类的所有方法
4、定义格式:
Abstract class className{
属性
方法
抽象方法
}
5、抽象类不能直接实例化,只能通过子类进行实例化
package fanil;
abstract class people{
private int age;
private String name;
public int English;
public int math;
public void tell(String name,int age){
this.age = age;
this.name = name;
System.out.println("我的姓名:"+this.name+"年龄:"+this.age);
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getEnglish() {
return English;
}
public void setEnglish(int english) {
English = english;
}
public int getMath() {
return math;
}
public void setMath(int math) {
this.math = math;
}
public abstract void show();
}
class student extends people {
public void tell(String name,int age){
super.tell(name, age); //函数重写,实际上对父类函数功能进行了扩展
English = getEnglish();
math = getMath();
System.out.println("我英语成绩:"+English+"数学成绩:"+math);
}
public void show(){//抽象方法在子类实例化
System.out.println("我总成绩:"+(English+math));
}
}
public class fanildemo {
public static void main(String[] args) {
//people peo = new people();//错的,因为抽象类不能被实例化
student stu = new student();
stu.setEnglish(99);
stu.setEnglish(100);
stu.tell("张三", 20);
stu.show();
}
}
接口:
1、接口是Java中最重要的概念,接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成
2、接口的格式:
Interface interfaceName{
全局常量;
抽象方法;;
}
3、接口的实现也必须通过子类,使用关键字implements,而且接口是可以多实现的。