ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

abstract, final 关键字

2022-05-23 09:01:20  阅读:123  来源: 互联网

标签:子类 abstract public 关键字 修饰 new final


1. abstract 关键字

1.1 强制重写场分析
父类方法继承给子类使用,子类没有重写的情况,可以执行操作,但是无法满足子类需求

,子类应该重写父类继承得到方法,满足子类的特征性

1.2 abstract 语法要求
abstract 修饰的方法,子类必须重写

public abstract class LOLHero {
abstract public void q();

abstract public void w();

abstract public void e();

abstract public void r();
}

    public class Demo1 {
    public static void main(String[] args) {
	    HappyWindBoy happyWindBoy = new HappyWindBoy();
	
	    happyWindBoy.q();
	    happyWindBoy.w();
	    happyWindBoy.e();
	    happyWindBoy.r();
	
	    Thresh thresh = new Thresh();
	
	    thresh.e();
	    thresh.q();
	    thresh.r();
	    thresh.w();
    }
    }
1.3 abstract 关键字总结
1,abstract 关键字修饰的方法,没有方法体
2.abstract 关键字修饰的方法,有且只能定义在abstract 修饰类内或者 interface

接口内
3,非 abstract 修饰子类继承一个 abstract 修饰类,必须要求实现在 abstract
类内的所有没有方法体的 abstract 方法
4.没有方法体的方法不可以执行,没有执行目标。abstract 修饰方法尤其只有方法声明
5.abstract 修饰类内可以定义非 abstract 修饰方法

2.final 关键字

2.1 final 可以修饰的内容
成员变量
    1. 定义时必须初始化
    2. 一旦被复制,后期无法更改
    3. 常用于带有名字的常量 !!! 例如: MAX_VALUE  MIN_VALUE
 成员方法
    不可以被子类重写,常用于涉及到安全校验的核心方法
 局不变量
      一旦被复制,后期无法更改
 类
      没有子类。不能被继承
2.2 final 面试题
class Dog {
String name;
final int age = 10;
}

public class Demo2 {
public static void main(String[] args) {
	final Dog dog = new Dog();
	
	/*
	1. dog = new Dog();
	2. dog.name = "豆豆";
	3. dog.age = 20; 错
	
	哪一个是对的???
		第二个是对的!!!
		final 修饰内容是一个局部变量,同时也是一个 引用数据类型 变量,引用数据类型变量中
		存储的数据为对应内存空间地址,也就是 new + Dog() 创建对象在内存【堆区】的地址。
		该地址存储于 dog 对象中,存储内容不可以改变。
		但是  new + Dog() 创建对象所处的内存【堆区】数据空间内容随意
		【指向不可变,执向空间可变】
		例如:
			你买的房子坐落不可变,但是房子里面的装修,布置,安排随便你!!!
	 */
	dog.name = "豆豆";
	// dog = new Dog();
    }
    }

标签:子类,abstract,public,关键字,修饰,new,final
来源: https://www.cnblogs.com/zls1/p/16299960.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有