java学习面向对象之final关键字】的更多相关文章

之前我们讲过继承的相关知识了,继承就是子类继承父类的属性和方法并且还可以覆盖父类的方法.但是这样有一个缺陷是什么呢,就是当我们一个类当中涉及一些封装的核心的东西或者对整个系统非常关键的方法或者类的时候,这个时候如果子类覆盖掉父类的方法将会对我们带来安全隐患.为了能够继承父类的方法,同时又能够保证我们类的安全性,这个时候我们就用到了final这个关键字. final关键字之一: final从字面意思上来理解的话,就是最后的意思,也就是说这个方法一经定义之后,就是最后的,不能更改的.当我们用这个关键…
[14-9]面向对象-final关键字 /* 继承的弊端,打破封装性. 不让其他类继承该类,就不会有重写. 怎么能实现呢?通过Java中的一个关键子来实现,final(最终化). [final关键字] 是一个修饰符,可以修饰类,方法,变量(成员变量,局部变量,静态变量). [特点] 1,final修饰的类是一个最终类,不能派生子类. 如果类中出现部分可以重写,部分不可以,怎么办?只要让指定的方法最终化就可以了. 2,final修饰的方法是最终方法,不可以重写. 3,final修饰的变量是一个常量…
最终的,最后的 可以修饰:变量.方法.类 (1) 修饰变量 不可改变,即常量,只能赋值一次,赋值之后不可改变 a. 修饰属性:private final int num; 要求属性要显式赋值 通常在属性中,final和static一起使用,表示静态常量:private static final int num; 静态常量的命名规则:每个字母都大写,多个单词之间用下划线分割 b. 修饰局部变量:final int count: 只能赋值一次,二次报错 形参在调用时赋值,所以方法内不能在改变 (2)…
super关键字 super代表的是当前子类对象中的父类型特征,可以看做是this的一部分.与this不同,不是引用,不存储对象内存地址. super可以用在什么位置 1 可以用在成员方法中.不能用在静态方法中. 使用场景: 子类和父类都有某个数据,如果要在子类中访问父类中的数据,需要使用super(如super.name).(默认是this,即this.name , 访问的是子类中的数据). 2 可以用在构造方法中. 语法: super(实参) 一个构造方法第一行如果没有显示地调用this()…
/* final可以修饰类,方法,变量 特点: final(可以修饰类),该(类)(不能被继承).一旦修饰了一个类,这个类就不能被继承了! final以修饰方法,该方法可以被继承但是不能被重写.(覆盖,复写) final可以修饰变量,该变量可以被继承但是不能被重新赋值.因为这个变量其实是常量. 常量: A:字面值常量 "hello",10,true B:自定义常量 final int x = 10; */ //final class Fu //无法从最终Fu进行继承,final是最终类…
final关键字final可以修饰类,方法,变量.final修饰的类不可以被继承final修饰的方法不可以被覆盖final修饰的变量是一个常量.只能被赋值一次.内部类只能访问被final修饰的局部变量. class Fu { void method() { //调用了底层系统的资源 } } class Zi extends Fu { void method() { System.out.println("haha"); } } 从上面可以看出继承是有弊端的,就是打破了封装性.这时我们就…
什么是面向对象内部类呢?所谓的内部类,即从字面意义上来理解的话,就是把类放到类当中. 那么内部类都有什么特点呢? 1.内部类可以访问包裹他的类的成员. 2.如果包裹他的类想访问被其包裹的类的话就得实例化,才可以访问. 代码示例: class Outer { ; void show() { System.out.println("Outer Show method!!"); } void method() { Inner a = new Inner(); a.innerShow(); }…
对象及类的概念 对象是java程序的核心,在java程序中“万事万物皆对象” 对象可以看成是属性和方法的封装体 类是用来创建同一类型的对象的模板,在一个类中定义了该类对象所应具有的属性和方法 J2SDK提供了很多类供变成人员使用,编程人员也可以定义自己的类 面向对象的编程------一组对象互相配合通过沟通完成特定的功能 引用-----引用是java面向对象基本概念,java中除基本类型之外的变量类型都称之为引用类型.java中的对象是通过引用对其操作的 类的定义主要有两方面组成:属性和方法 属…
前言 学习新知识固然重要,但是时常往回看看,温故知新是很必要的.回顾一下线程安全性和final关键字. 正文 从Java 5开始,final keyword一个特殊用法是在并发库中一个非常重要且经常被忽视的武器.实质上,可以使用final来确保在构造对象时,访问该对象的另一个线程不会看到处于部分构造状态的对象,否则可能会发生这种情况.这是因为当作为对象变量的一个属性时,final作为其定义的一部分具有以下重要特征: 当构造函数退出时,final keyword的值保证对访问构造对象的其他线程可见…
一.异常的概述: 什么是异常?在我们编写java程序的时候,会出现一些问题,比如内存溢出啊或者数组索引超出最大索引啊,这些编程当中出现的这些个问题就是异常.但是异常也分为可以处理的和不可以处理的.比如JVM虚拟机出现的异常就是不可以处理的.可以处理的异常就是指,在我们java程序当中的数组最大索引超出啊,这些问题我们是可以处理的.同时异常也分为Error和Exception.从字面意义上来理解的话,可以理解成错误和异常.Error指在JVM运行当中出现异常,程序自动退出.下面我们来写个例子看下什…