Java基础小知识(一)
序言:“不积跬步,无以至千里。不积小流,无以成江海。”每一个庞大的知识架构都是由无数个小知识点慢慢积累起来的,没有量变的积累,就没有质变上的飞跃,成功往往离不开积累。
今天就和大家分享一些我在学习JAVA过程中总结的一些小知识吧!
①JAVA语言规定标识符的命名规则:
- 标识符应以“字母”、“下划线”、“美元符号$” 开头,不能以“数字”开头;
- 标识符可以由“字母(A-Z,a-z)”、“下划线”、“美元符号$” 或“数字(0-9)”组成;
- Java标识符需要注意区分大小写,长度无限制;(类名首字母一般采用大写,变量、方法及对象的首字母一般采用小写)
- 系统的关键字(即保留字)不能作为标识符;
- Java使用的是 “unicode" 字符集,含有65535个字符; 在Java之前的编程语言一般使用ASCII。
②数组的定义形式:
- 数组声明可以用 “类型[ ] 标识符”;
float[] a=new float[20];
- 数组声明也可以用 “类型 标识符[ ]”;
float a[]=new float[20];
- 数组类型的变量的初始化可以用new ,也可以直接用一个集合来初始化(用new初始化时必须指明长度,用集合不能指明长度)
float[] a=new float[]{1.1f,2.2f,3.3f,4.4f,5.5f.6.6f};
//在Java中的小数通常默认为是double类型的,所以要在小数后面加上f,强制转换成float类型
③Java源文件的后缀命名:
- Java源文件以".java"命名,源文件编译之后生产".class"可执行文件,Java中每一个类都会编译成一个".class"文件;
- Java源文件可以包含多个class,但最多只有一个public class;
- 如果源文件中有public class,源文件必须与public class同名 。
④类的访问控制:
- 在Java中定义一个类,只能用"public"和"package"这两种访问控制,在定义时"package"可省略不写;
如果一个类包含抽象方法,必须声明为abstract class,但是抽象类中可以没有抽象方法,其子类无需实现任何方法就可以实例化。
⑤方法重载(overloading method):
- 符合"三行三不行"原则:符合"三行"能构成重载,"三不行"则不能构成重载;
- "三行":参数个数不同; 某个参数位置类型不同; 对应参数位置上的类型不同;
void zz(String a, boolean b); //原方法; void zz(boolean x, String y, int z); //参数个数不同,可构成重载; void zz(int x, boolean y); //某个(第一个)参数位置的类型不同,可构成重载; void zz(float x, int y); //对应参数位置上的类型不同,可构成重
- "三不行": 返回值类型不同;形参名字不同;访问控制不同;
void zz(String a, boolean b); //原方法 int zz(String a, boolean b); //返回值类型不同,不能构成方法重载; void zz(String x, boolean y); //形参名字不同,不能构成方法重载;
⑥ 接口
- 接口中使用的方法一般默认是“public” 或者 “abstract”,可省略不写;
java是单继承,多实现:一个类只能继承(extends)一个父类,但可以同时实现(implements)多个接口。另外需要注意的是:接口继承父接口用extends,一个接口可同时继承多个父接口;
⑦final的使用
final可以用来修饰 class, method, fields,如果一个类(class)被声明为final,表示这个类不能被继承,与抽象(abstract)类刚好相反;
如果一个方法(method)被声明为final,表示这个方法不能被重写(override);
如果一个字段(field)被声明为final,表示它的值不能被改变,相当于常量。
⑧线程
- 线程的五个状态:新建(new)、就绪(Runnable)、运行(Running)、阻塞(Blocked)、死亡(Die);
线程创建后调用start()方法使线程处于就绪态,轮到该线程执行时,会自动调用run()方法;
main方法就是main线程,其它线程只能在main线程中创建;main()方法是java Application的入口.它由JVM自动调用。
⑨其它知识点
Set内不能有重复的元素,元素无先后关系;
List中可以有重复元素,当作不同元素来处理,元素有先后位置关系;
容器类的Map, Set, List,List添加元素用add();
每一个非静态(non-static)方法包含一个this参数,指向对象自己,而(Staticmethod)不包含this参数;
把程序中的数据写到流叫输出,用write();
把流中的数据读到程序叫输入,用read();
向上类型转换的代码中,如果子类重写了父类的方法,父类的方法被子类的方法覆盖了,函数调用的是"子类"的方法。
Java基础小知识(一)的更多相关文章
- java基础小知识
1.1常量: 基本数据类型常量 字符常量 整数常量的表现形式:一进制的形式来表示(二进制,八进制,十进制,十六进制) 生活中:十进制(0-9) ,星期(七进制(0-6)) ,时间(十二进制(0-11 ...
- Java基础小知识笔记
1. Integer转进制的一个类2. toBinaryString,toOctalString,toHexString.(转为二进制,八进制,十六进制的方法)3. 如果·数据的大小没有超过byte/ ...
- Java基础小知识1——分别使用字节流和字符流复制文件
在日常使用计算机过程中经常会涉及文件的复制,今天我们就从Java代码的角度,看看在Java程序中文件复制的过程是如何实现的. 1.使用字节流缓冲区复制文件 示例代码如下: import java.io ...
- Java基础语法知识你真的都会吗?
第一阶段 JAVA基础知识 第二章 Java基础语法知识 在我们开始讲解程序之前,命名规范是我们不得不提的一个话题,虽说命名本应该是自由的,但是仍然有一定的"潜规则",通过你对命名 ...
- Java基础入门知识
Java编程入门知识 知识概要: (1)Java入门基本常识 (2)Java的特性跨平台性 (3)Java的编程环境的搭建 (4)Java的运行机制 (5)第一个Java小程序入门 (1)Java ...
- Java 基础部分知识复习
面向对象的特征: 继承.封装和多态 封装 : 把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象去操作.对不可信的信息进行隐藏. 继承: 它可以使用现有类的功能,并在无需重新编 ...
- 学习笔记:Java的一些基础小知识之JVM与GC
一.JVM是什么 Java虚拟机(英语:Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做.最早由太 ...
- Java的一些基础小知识之JVM与GC (转)
一.JVM是什么 Java虚拟机(英语:Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做.最早由太阳微 ...
- java线程的一些基础小知识
--------------------------------------------------------------------------------------------------线程 ...
随机推荐
- [TJOI2007] 足彩投注
足彩投注 题目概述 题目背景 了解足球彩票的人可能知道,足球彩票中有一种游戏叫做"胜负彩",意为猜比赛的胜负.下面是一些与胜负彩有关的术语 注 :每一组有效组合数据. 投 注:彩民 ...
- 获取http://XX.XX.XX.XX :XXXX/QuestionResult.aspx?method=接口返回值
private string GetWeather(string strRegisterNo) { string getWeatherUrl = "http://XX.XX.XX.XX :X ...
- javaweb利用javabean将数据库中内容遍历在页面输出
效果如下图 它所实现的就是把数据库中一个表中所有的数据一条一条以表格的形式输出在网页上, 实现方法如下 首先我们要从数据库读取数据,这里要借助javabean来方便我们传递数据 以上面的为例,我要输出 ...
- 重启监听卡在connecting to的问题
问题描述:lsnrctl start启动监听起不来,一直卡在connecting to半天 1.[oracle@orcl ~]$ lsnrctl start 一直卡半天,就是连不上,按照以前的解决办法 ...
- ECMAScript基本对象——Number 对象
Number 对象,原始数值的包装对象. 1.创建 var num = new Number(value); 2.方法 toExponential(x)把对象的值转换为指数计数法. toFixed(x ...
- PTA 1004 Counting Leaves
题目描述: A family hierarchy is usually presented by a pedigree tree. Your job is to count those family ...
- Qt Gui 第十章
一.QListWidget.QTableWidget和QTreeWidget QTableWidget的item默认是可以编辑,其他两个的item默认是不可编辑.如果要将QTableWidget设置成 ...
- BLE直接Data channel抓包方法汇总
之前一致在做一些有关与BLE安全研究的“基础设施建设”工作,我们知道,在BLE进入跳频之后,所有的固定标志都会消失,但是是不是意味着没办法了?不是的.我会提出一些恢复出来的方法. 首先,前导码分析,B ...
- python数据分析学习(1)pandas一维工具Series讲解
目录 一:pandas数据结构介绍 python是数据分析的主要工具,它包含的数据结构和数据处理工具的设计让python在数据分析领域变得十分快捷.它以NumPy为基础,并对于需要类似 for循环 ...
- SpringBoot整合WEB开发--(八)启动任务系统
简介: 有一些特殊的任务需要在系统启动时执行,例如配置文件的加载,数据库初始化等操作,如果没有使用SpringBoot,这些问题可以在Listener中解决.SpringBoot提供了两种解决方案:C ...