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. 剑指offer-08 二叉树的下一个节点

    剑指offer第8题,本来想找leetcode上对应的题,后来没找到,直接去牛客网上刷了. 题目描述: 给定一个二叉树和其中的一个结点(pNode),请找出中序遍历顺序的下一个结点并且返回.注意,树中 ...

  2. npm和yarn的淘宝镜像添加

    https://www.cnblogs.com/demonrain/p/8568122.html npm config set registry https://registry.npm.taobao ...

  3. Linux提高工作效率的命令

    find ./ -name 'laun*'|xargs grep 8881 在laun开头的文件内查找8881 find ./ -name 'laun*' find . -type f -mtime ...

  4. 洛谷题解 P4392 【[BOI2007]Sound 静音问题】

    题目链接 其实写线段树的题还是比较的令我开心的因为不用脑子 怎么判断这题是要写线段树的? 1.暴力只能拿50分 2.这题是个绿题 3 .看数据范围 #include <cstdio> #i ...

  5. 《Machine Learning - 李宏毅》视频笔记(完结)

    https://www.youtube.com/watch?v=CXgbekl66jc&list=PLJV_el3uVTsPy9oCRY30oBPNLCo89yu49 https://www. ...

  6. js之juery

    目录 JQuery 属性选择器: 操作标签 文本操作 属性操作 文档处理 事件 JQuery 属性选择器: 属性选择器: [attribute] [attribute=value]// 属性等于 [a ...

  7. C语言实现聊天室软件

    /* common.h */ /*服务器端口信息*/ #define PORTLINK ".charport" /*缓存限制*/ #define MAXNAMELEN 256 #d ...

  8. 2019-2020-1 20181218《Linux内核原理与分析》第一周作业

    目录 问题和参考 有趣/有用的Linux命令 小作业和解答 一些图片 相关学习 本文是学习Linux基础入门(新版)后的总结. 问题和参考 虚拟机莫名崩溃,一天重启了几十次电脑,重装两次系统,心累.想 ...

  9. Spring Boot启动命令参数详解及源码分析

    使用过Spring Boot,我们都知道通过java -jar可以快速启动Spring Boot项目.同时,也可以通过在执行jar -jar时传递参数来进行配置.本文带大家系统的了解一下Spring ...

  10. 【Activiti学习之七】BPMN子流程、顺序流、流程关口

    环境 JDK 1.8 MySQL 5.6 Tomcat 7 Eclipse-Luna activiti 6.0 一.子流程 1.嵌入子流程2.调用子流程3.事件子流程4.事务子流程 二.顺序流1.条件 ...