java抽象类数组初始化_【Java抽象类 11】

一、抽象类

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修饰类,则此类不能被继承

639eec9169052008859767641c8f2ce8.png

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值