七、访问控制级别、abstract、final、static、静态变量和实例变量

一、请问java的修饰符有哪些?

答:抽象的(abstract),静态的(static),公共的(public),受保护的(protected),私有的(private),同步的(synchronized),本地的(native),暂时的(transient),易失的(volatile),不可改变的(final).

二、请问访问控制修饰符有哪些?

答:①公开级别:public,对外公开。

②受保护级别:protected,对子类和同一个包中的类公开。

③默认级别:没有访问控制修饰符,向同一个包中的类公开。

④私有级别:private,只有本类可以访问。

三、请问abstrace修饰符可以修饰什么?

答:修饰类,表示抽象类,抽象类不能被实例化,即不允许创建抽象类本身的实例。

修饰方法,表示抽象方法,抽象方法没有方法体。抽象方法用来描述系统具有什么功能,但不提供具体的实现。

四、请问使用abstract修饰符应该注意什么?

答:①抽象类中可以没有抽象方法,但包含了抽象方法的类必须被定义为抽象类。

②没有抽象静态方法,static和abstract关键字不能共用。

③抽象类中可以有非抽象的构造方法,创建子类的实例时可能会调用这些构造方法。抽象类不能被实例化,然而可以创建一个引用变量,其类型是一个抽象类,并让它引用非抽象的子类的一个实例。

④抽象类及抽象方法不能被final修饰符修饰。因为抽象类只有允许创建其子类,它的抽象方法才能被实现,并且只有它的具体子类才能被实例化,而用final修饰的类不允许拥有子类,用final修饰的方法不允许被子类覆盖。

⑤抽象方法不能被private修饰符修饰。

五、请问final修饰符可以修饰什么?

答:修饰类,不能被继承,没有子类;String类就被final修饰。

修饰方法,不能被子类的方法覆盖;

修饰基本变量,表示常量,只能被赋值一次。final变量必须被显式初始化。

修饰引用变量,那么该变量只能始终引用一个对象,但可以改变对象的内容。

六、请问static修饰符可以修饰什么?

答:修饰成员变量表示静态变量,可以直接通过类名来访问。

修饰成员方法表示静态方法,可以直接通过类名来访问。

修饰代码块表示静态代码块,当java虚拟机加载类的时,就会执行该代码块。

七、请问静态变量和实例变量有什么区别?

答:静态变量在内存中只有一个备份,运行时java虚拟机只为静态变量分配一次内存,在加载类的过程中完成静态变量的内存分配,可以直接通过类名访问静态变量。

实例变量,每创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个备份,互不影响。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值