2019-10-28-22:40:14

目录

  1.Instanceof关键字

  2.Final关键字

    2.1Final关键字修饰类

    2.2Final关键字修饰成员方法

    2.3Final关键字修饰局部变量

    2.4Final关键字修饰成员变量

  3.权限修饰符


Instanceof关键字

  作用:判断一个父类引用的对象是什么子类

  格式:

    对象名 instanceof 类名称   

 package demosummary.instanceoftest;

 public class Test {
public static void main(String[] args) {
//创建一个Dog对象
Animal animal = new Dog();
//如果希望调用子类特有方法,需要向下转型
//判断一下父类引用animal本来是不是Dog
if (animal instanceof Dog){
animal.setName("来福");
Dog dog = (Dog)animal;
dog.skill();
} }
}

Final关键字

  意义:final关键字代表最终,不可改变的

  常见四种用法:   

    1.可以用来修饰一个类
    2.可以用来修饰一个方法,
    3.还可以用来修饰一个局部变量
    4.还可以用来修饰一个成员变量

  Final关键字修饰类

    格式:

      public final class 类名称{

        语句体;

      }

    含义:当前这个类不能有任何子类,而且成员方法都无法进行覆盖重写(因为没有子类)

 public final c1ass MyClass /*extends object*/ {
public void method() {
System.out.print1n( "方法执行!");
}
}

  Final关键字修饰成员方法

    当final关键宇用来修饰一个方法的时候,这个方法就是最终方法,也就是不能被覆盖重写。
    格式:
      修饰符 final 返回值类型 方法名称(参数列表) {
        // 方法体

      }

    注意事项:1、对于类、方法来说,abstract关键字和final关键字不能同时使用,因为矛盾。

public abstract class Fu {
public final void method() {
System.out.printIn("父类方法执行!");
}
public abstract /*final*/ void methodAbs() ;
}

  Final关键字修饰局部变量

    作用:一旦使用final来修饰局部变量,那么这个变量就不能进行修改(一次赋值,终生不变)

    注意事项:

      1.对于基本类型来说,不可变说的是变量当中的数据不可改变

      2.对于引用类型来说,不可变说的是变量当中的地址值不可改变

  Final关键字修饰成员变量   

    作用:对于成员变量来说,如果使用final关键字修饰,那么这个变量也照样是不可变。
      1.由于成员变量具有默认值,所以用了final之后必须手动赋值,不会再给默认值了。
      2.对于final的成员变量,要么使用直接赋值,要么通过构造方法赋值。二者选其一。
      3.必须保证类当中所有重载的构造方法,都最终会对final的成员变量进行赋值。

权限修饰符

  Java中有四种权限修饰符:

          public > protected > ( default) > private

同一个类(我自己)  YES  YES    YES   YES

同一个包(我邻居)  YES  YES    YES   NO

不同包子类(我儿子) YES  YES    NO     NO

不同包非子类(陌生人 YES  NO      NO     NO

  注意事项: (default)并不是关键字“defoult",而是根本不写。

Java之路---Day13的更多相关文章

  1. Java之路——名词解释(一)

    一.开篇 许多人在初接触Java的时候,都会被各种Java的英文缩写名词给弄得头晕脑胀.看一个技术,内容里又会有一堆其他的技术名词,看了半天不知所云.尝试去查一下这些名词的解释,除了非常学术性的解释之 ...

  2. Java之路——敬JAVA初学者(作者:MoMo)

    作为一名大四的毕业生,大学三年过,有得有失.作为一个喜欢编程,喜欢JAVA的人,自学其实是一件美事,很有意思的事.要是能再找个女朋友一起学.嘿嘿,就不枉在大学走了一遭啊!    要离开学校了,还是想留 ...

  3. Java之路——环境配置与编译运行

    本文大纲 一.开篇 二.JDK下载 三.JDK安装 四.环境配置 五.初识Java编译 六.Java与Javac 七.第一个Java程序 八.总结 九.参考资料 一.开篇 通过对之前Java之路的了解 ...

  4. Java之路 ——初识Eclipse

    零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...

  5. 转行自学 Java 之路的纪念册

    前言: 最近在重读<小狗钱钱>,我对其中的"成功日记"概念特别深刻,偶尔也会记一记“成功日记”. 想了想人生走找到今天,阶段性“成功日记”有没有呢? 有的!几年前的一篇 ...

  6. 是什么让我走上Java之路?

    选择方向,很多人都为根据自己的兴趣爱好和自己的能力所长而作出选择.那么是什么让我走上Java之路? 整个高三我有两门课程没有听过课,一门是数学,一门是物理.当时候物理没有听课的原因很简单,我有一本&l ...

  7. 我的Java之路

    前言: 之前在学习python,刚开始的时候跟多数小白一样学习一些基础的知识,比如数据类型,用法,基本的语言结构,学了一段时间实在是学习不下去了,真是太TMD的无聊了,很多方法都记不住,也不知道学了这 ...

  8. Java之路——初识Eclipse

    零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...

  9. Python自学之路---Day13

    目录 Python自学之路---Day13 常用的三个方法 匹配单个字符 边界匹配 数量匹配 逻辑与分组 编译正则表达式 其他方法 Python自学之路---Day13 常用的三个方法 1.re.ma ...

随机推荐

  1. robotframework连接mysql

    1.安装mysql数据库,并启动,创建数据库test及user表(可以自定义) 2.配置robotframework环境加载DatabaseLibrary 3.安装pymysql,下载地址:https ...

  2. 12-cmake语法-内部变量-系统信息

    系统信息 CMAKE_MAJOR_VERSION CMAKE 主版本号,比如 2.4.6 中的 2 CMAKE_MINOR_VERSION CMAKE 次版本号,比如 2.4.6 中的 4 CMAKE ...

  3. ArrayList与String[]

    不逼自己一把,你永远不知道什么是绝望. 今天被初学java的朋友问到了String[]跟ArrayList是不是有关系呢? 猜测是名称之间的联想,记此篇解惑. Array英语单词里是数组.阵列的意思, ...

  4. Hibernate框架学习2

    集合映射 public class User { // 一个用户,对应的多个地址 private Set<String> address; private List<String&g ...

  5. 靶场sql注入练手----sqlmap篇(纯手打)

    靶场地址:封神台 方法一.首先尝试手工找注入点判断 第一步,判断是否存在sql注入漏洞 构造 ?id=1 and 1=1 ,回车,页面返回正常 构造 ?id=1 and 1=2 ,回车,页面不正常,初 ...

  6. 51Nod1353 树

    51Nod1353 树 传送门 思路 我们定义\(dp[i][j]\)代表第i个点联通块大小为j的方案总数,也可以把它理解为等待分配(不确定归属)的联通块大小为j的方案总数. 那么每次转移我们就使用一 ...

  7. [技术博客]升级 API 面临的问题

    升级 API 面临的问题 我们使用的上一届的版本中,使用的底层的 安卓的 API 是 Android7.0 .在这一版本中,我们将 API进行了升级,为了更好的兼容新功能.(发送通知),我们在升级 A ...

  8. Spring AOP 代理类,BeanNameAutoProxyCreator cglib

    BeanNameAutoProxyCreator支持拦截接口和类,但不支持已经被jdk代理过的类$Proxy8.使用cglib才能代理,如下 <!-- 通过bean的名字来匹配选择要代理的bea ...

  9. 出现Strict Standards: Only variables should be passed by reference in的解决方法

    出现Strict Standards: Only variables should be passed by reference in的解决方法 代码报错: <br /><b> ...

  10. 通过inspect在电脑的Chrome上查看手机上的H5

    首先打开手机的开发者模式,(在连续点击7次版本号,系统会提示已经打开开发者模式) 然后打开一个手机浏览器. 然后在电脑上打开chrome://inspect/#devices.这是就会出现手机上浏览器 ...