Java学习日记-5 关键字static和final 以及接口
乱入:表达式中的自动类型转换
char,short,byte都升级为int类型进行运算,结果为int,但其原变量类型并不改变。
所以,byte b = 10; b = b*b; 编译时会报错。但是写成 b *=b; 就没问题了。
——————————————华丽的分割线————————————————————————
//static与final
一、static
1.位于变量前
变量为静态变量,可通过(类名+点运算符)调用
2.位于方法前
方法为静态方法,可通过(类名+点运算符)调用
存储在静态区,可以被所有对象直接访问
注意:静态方法中只能调用静态方法或属性
3.位于语句块前
静态语句块在类加载时,主动运行一次
作用为在类加载时进行一些初始化的操作
ps:静态语句块是主动加载初始化,构造函数是被动加载初始化
4.位于类前
static只能在内部类前面
二、final
1.变量前
在基本数据类型前,则为常量,只能赋值一次,数据不能被改变;
在对象引用前,引用指向的对象不能改变,但是对象成员的值可以改变;
2.方法
方法不能被子类重写
3.类
不能被继承
——————————————华丽的分割线————————————————————————
//接口
1.访问控制
默认:包中可用
public:包外也可用,且必须保存在同名的文件中
2.方法
方法声明仅包含返回类型和签名(方法名和形参列表),实现接口的方法必须声明为public
(接口中的所有成员都是隐式声明为public的)
如果一个类包含一个接口,但没有完全实现接口定义的方法,那么该类必须声明为抽象的。
3.变量
隐式声明为public、final、static,且必须初始化,实际上就是常量
4.引用
接口类型的引用变量可以引用实现它的接口的任何对象,通过“接口引用”调用“对象方法”时,将会执行对象实现的那个版本的方法。(接口引用变量仅仅能够识别其接口所声明的方法)
Java学习日记-5 关键字static和final 以及接口的更多相关文章
- JAVA学习笔记--简介几个常见关键字static、final、this、super
一.static static(静态的),可以放在类.方法.字段之前. 通常,当创建类时,就是在描述那个类的外观与行为.除非用 new 创建那个类的对象,否则,实际上并未获得任何对象.执行 new 来 ...
- Java学习日记基础篇(六)—— 抽象类、接口、final
抽象类 为什么要有抽象类? 因为父类方法有不确定性,我们在Animal中定义了一个方法,但是它会被子类的方法覆盖掉,我们就不知道这个方法原本是做什么的 public class test1 { pub ...
- java笔记——Java关键字static、final使用小结
static 1. static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的 ...
- Java关键字static、final使用小结
static 1. static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的 ...
- Java之关键字static和final的使用
static 在Java中声明属性.方法时,可使用关键字static来修饰. 1.static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或 ...
- 【Java学习笔记之二十】final关键字在Java继承中的用法小结
谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法. ...
- Java学习之finally关键字总结
Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使 ...
- Java学习笔记18---final关键字修饰变量、方法及类
英语里final这个单词大家都知道是"最终的"意思,其实还有一个意思是"不可更改的".在Java里,final关键字作"不可更改的"来解释更 ...
- JAVA基础-栈与堆,static、final修饰符、内部类和Java内存分配
Java栈与堆 堆:顺序随意 栈:后进先出(Last-in/First-Out). Java的堆是一个运行时数据区,类的对象从中分配空间.这些对象通过new.newarray.anewarray和mu ...
随机推荐
- 屏幕录像专家V7.5(完美破解版,无水印)下载
分享一个屏幕录像工具.屏幕录像专家V7.5(完美破解版,无水印).经测试可破解使用. 破解注册 点击安装.EXE,安装软件. 点击安装好的屏幕录像专家,会给你一个机器码,要你注册,复制下这个机器码(下 ...
- Python爬虫:获取糗事百科笑话
为了收集笑话也是挺拼的,我就不相信你所有的都看过了.还有,请问哪位仁兄能指点之下怎么把网上抓取到的图片写到word里面,捉摸了好久都没弄出来. 糗百不需要登录,html直接解析,只要在reques ...
- python文件处理--笔记
之前一段时间一直在忙着写毕业论文,盲评搞得人心惶惶,以致于都没有看书,最近需要补上前面落下的东西. <Python3程序开发指南> 1.二进制数据的读写 二进制格式通常是占据磁盘空间最小. ...
- Python之路,Day17 - 分分钟做个BBS论坛
Python之路,Day17 - 分分钟做个BBS论坛 本节内容: 项目:开发一个简单的BBS论坛 需求: 整体参考"抽屉新热榜" + "虎嗅网" 实现不同 ...
- AlertDialog dismiss 和 cancel方法的区别
AlertDialog使用很方便,但是有一个问题就是:dismiss方法和cancel方法到底有什么不同? AlertDialog继承与Dialog,现在各位看看结构图: 然后在Dialog类中找到了 ...
- niop 2003 传染病控制 (哎呀我氧化钙 坑了好久的搜索题)
/* 我觉得挺对的啊 实在是考虑不到有什么情况会判不了 70分 就这样吧 - - */ #include<iostream> #include<cstdio> #include ...
- 条件注释判断浏览器版本<!--[if lt IE 9]>(转载)
<!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--> <!--[if IE]> 所有的IE可识别 <![ ...
- (转)echo和print的区别
在实际使用中, print 和 echo 两者的功能几乎是完全一样.可以这么说,凡是有一个可以使用的地方,另一个也可以使用.但是,两者之间也还是一个非常重要的区别:在 echo 函数中,可以同时输出多 ...
- (转)Android调用系统自带的文件管理器进行文件选择并获得路径
Android区别于iOS的沙盒模式,可以通过文件浏览器浏览本地的存储器.Android API也提供了相应的接口. 基本思路,先通过Android API调用系统自带的文件浏览器选取文件获得URI, ...
- android - INSTALL_FAILED_MEDIA_UNAVAILABLE
解决方案是将'AndroidManifest.xml'设置 'installLocation'的属性为'auto'即可.