数组初始化"/>
java抽象类数组初始化
一、抽象类
1、语法,在class关键字前边添加abstract关键字
2、抽象类无法实例化,但是抽象类中仍然有构造方法
3、抽象类中不一定有抽象方法,但是抽象方法必须出现在抽象类中
4、抽象方法修饰符中有abstract关键字,并且抽象方法没有实现体。以“;”结束
5、非抽象的类继承抽象类,必须将抽象类中的方法进行实现
6、abstract和final共存
packagecom.JavaStudy.study0509;abstract classAccount {//抽象方法没有实现体
abstract void m(doublemoney);
Account(){super();//调用Object的缺省构造器
}public voidn(){
System.out.println("n");
}public static voidmain(String[] args){//抽象类不能进行实例化//Account account = new Account();
DebitAccount debitAccount= newDebitAccount();
debitAccount.m(10000.0);
debitAccount.n();//子类继承父类可以用父类中的成员方法
DepositAccount depositAccount= newDepositAccount();
depositAccount.m(20000.0);
}
}//非抽象类继承抽象类
class DepositAccount extendsAccount{//非抽象类继承抽象类,必须将抽象方法进行实现(即增加实现体)
void m(doublemoney){
System.out.println("储蓄账户取款"+money+"元");
}
DepositAccount(){super();
}
}class DebitAccount extendsAccount{void m(doublemoney){
System.out.println("信用账户取款"+money+"元");
}
DebitAccount(){super();
}
}
二、final关键字的作用
1、final可以用来修饰引用,方法和类。
1、如果引用是基本数值类型,则该引用为常量,该值无法修改。并且final修饰的常量必须赋值
2、如果引用为引用数据类型,比如对象,数组,则该对象,数组本身的数值是可以修改的,但指向该对象或数组的内存地址
3、如果引用是类的成员变量,则必须当场赋值,否则编译器无法通过
packagecom.JavaRestudy.Test08;/*** @Author wufq
* @Date 2020/7/6 14:13*/
public classDemo {//final修饰的常量,必须要赋值
final int a=1;//final修饰的基本数据类型常量,不能修改//a = 10;
public static voidmain(String[] args){
Person p= newPerson();//final修饰的类,类里面的常量值可以修改,但是内存地址不能修改
p.name = "ab";
System.out.println(p);//final修饰的数组,可以改变值
final int[] data = {1,4,33};
data[1] = 555;for(int i=0;i
System.out.print(data[i]);
}
}
}final classPerson{
String name= "cs";
}
2、用来修饰一个方法
当使用final修饰方法时,这个方法将是一个最终的方法,不能被重写但是可以被子类继承(即:子类可以使用这个方法)
packagecom.JavaRestudy.Test08;/*** @Author wufq
* @Date 2020/7/6 14:33*/
public classZhiYe {public final voidread(){
System.out.println("读");
}public voidwrite(){
System.out.println("写");
}
}class Teacher extendsZhiYe{//final修饰的方法,不能被重写//public void read(){//
//}
public voidwrite(){
System.out.println("子类重写父类write方法");
}public static voidmain(String[] args){
Teacher teacher= newTeacher();
teacher.write();//final修饰的方法,可以被之类继承
teacher.read();//读
}
}
3、final修饰类,则此类不能被继承
更多推荐
java抽象类数组初始化
发布评论