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. pycharm与github的使用

    1.clone代码: 输入github的存储库地址,输入本地存储目录,点击clone即可: 2.上传代码: 输入存储库名字,点击share即可:github上就会有你分享的代码啦

  2. jackson springboot配置时间格式

    yml文件中这样进行配置 spring: jackson: date-format: yyyy-MM-dd HH:mm:ss spring.jackson.date-format指定日期格式,比如yy ...

  3. flask-restful在解析的请求一定要传content-type:application/json吗?答:其实不需要!

    在处理flask-restful api请求时,因为postman发送的格式为text,没有携带content-type:application/json,在解析参数的时候,参数的值都给搞成了空,导致 ...

  4. JMeter5.1开发SMTP协议接口脚本

    jmeter可以测试发邮件和读取邮件. 发送邮件 上图部分解释: Server:邮件发送服务 Port:发邮件端口,不加密25,加密465,如果是465端口,Security settings 需要选 ...

  5. home_url()用法小结|wordpress函数

    home_url()检索可访问当前站点的URL(推荐将<?php bloginfo('url'); ?>用<?php home_url(); ?>来替代),使用适当的协议返回' ...

  6. A Comparison of Serverless Frameworks for Kubernetes: OpenFaas, OpenWhisk, Fission, Kubeless and more

    The term Serverless has become synonymous with AWS Lambda. Decoupling from AWS has two benefits; it ...

  7. JDOJ 2197: 校门外的树

    JDOJ 2197: 校门外的树 题目传送门 Description 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米. 我们可以把马路看成一个数轴,马路的一端在数轴1的位置,另一 ...

  8. Code Chef May Challenge 2019题解

    传送门 \(REDONE\) 贡献可以拆成\(X(Y+1)+Y\),那么一个数\(x\)的贡献对最终答案的贡献就是\(x(a_1+1)(a_2+1)...\),那么最终答案肯定是\(\sum\limi ...

  9. js如何安全的扩展系统函数

    如果直接使用原型扩展系统函数,可能会和其他人的代码相互冲突 为了防止出现冲突,可以使用如下方法进行扩展: function MyArray(){ this.Name="MyArray&quo ...

  10. plv8 centos install steps

    install deps yum -y update yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL- ...