本博客仅用于自己学习跟分享给大家参考而已
本文只列出知识点,不描述详情。
1.面向对象三特点,继承封装多态(必须弄清楚),万物皆对象
2.类的基本结构: 属性,方法,构造方法,内部类,块。
3. 类的作用:类就是一个模板,定义多个对象共同的属性和方法
4.变量,八大基本类型,切记没有String,八大类型有(缺省值也就是默认值)
char :雀省值 口 长度16位 范围百度
byte :缺省值 0 长度8位 范围-128-127
short :缺省值 0 长度16位 范围-32,678-32.767
int :缺省值 0 长度32位 范围 百度查下
long :缺省值 0 长度64位 范围 百度查下
float :缺省值 0.0 长度32位 范围3.4E-038~3.4E+038
double :缺省值 0.0 长度64位 范围1.7E-038~1.7E+038
boolean 缺省值 false 长度1位 数的范围 ture ,flase
5.字面值(进制)
byte,short,int,long 四个如下
十进制: 基 10, 包含从0-9的数字,常用。
十六进制: 基 16, 包含从0-9的数字,和从A-F的字母。
八进制: 基 8, 包含从0-7的数字
二进制: 基 2, 包含0和1。(从 JAVA7开始就可以创建 二进制的字面值了)
浮点数字面值:
当以f或者F结尾的时候,就表示一个float类型的浮点数,否则就是double类型(以d或者D结尾,写不写都可以)。
浮点数还可以用E或者e表示(科学计数法)
e2表示10的二次方,即100 打比分:double
a =
1
.234567e2;
字符和字符串字面值:字符的字面值放在单引号中,字符串的字面值放在双引号中
6.类型转换
类型不同是可以转换的,但是要满足规则 ,还有个精度的问题,低精度转高精度没啥事,高精度转低精度,可能就会丢失精度 (图片来自网络,并非我所制作)
7.命名规则
变量命名只能使用字母 数字 $ _ ,数字不能在第一位,不能是关键字,但可包含关键字,比如 thisSB ,其实中文可以命名,但是我劝你善良,不要没事给自己找bug。驼峰命名法了解下。
8.变量的作用域
变量处于不同的位置,有不同的名称
分别是 :字段,属性 ,参数 ,局部变量
不同名称的变量,其作用域是不一样的
当一个变量被声明在类下面
变量就叫做字段 或者属性、成员变量
如果一个变量,是声明在一个方法上的,就叫做参数
参数的作用域即为该方法内的所有代码
其他方法不能访问该参数
类里面也不能访问该参数
声明在方法内的变量,叫做局部变量
其作用域在声明开始的位置,到其所处于的块结束位置
9.final
final 修饰一个变量,有很多种说法,比如不能改变等等
准确的描述是 当一个变量被final修饰的时候,该变量只有一次赋值的机会
举例: final a;
a=1; //赋值
a=2;//报错 ,只有一次赋值机会
final 修饰的类,无法被继承
final修饰的方法,不能够被重写
10.表达式
以;结尾的一段代码,即为一个表达式 现在jdk8的lambda表达式比较火
11.操作符
基本的操作符号 + - * / %
基本分为,关系(>= 大于,== 是否相等 ,!= 是否不等),逻辑(&,&&,|,||,!,^(异或)),位(左移,右移),赋值,三元(?相当于一个if else)操作符
12.控制流
if else , else if,switch,while,do-while,for(增强for循环),continue,break。
13.数组
数组是一个固定长度的,包含了相同类型数据的 容器,有普通的数组,二维数组等。
14.单例,枚举
单例有饿汉,懒汉,两种,需深入去了解单例和枚举。
15.重载,重写,this,super,构造方法
重载是方法名相同,参数啥的不同
重写,子类的方法覆盖父类的方法
重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数
this,是自身的一个对象,代表对象本身
super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类
构造方法,你不写,也会默认会给你加一个隐式的空构造方法。
16.传参
传参 即传递的是原变量的一个副本。基本的数据类型,如:char,int,double等类型的变量向函数传递的参数,都是变量的副本都属于传值。函数内部不论进行任何操作,都不影响变量本身,影响的只是变量的副本。
17.属性初始化
对象属性初始化有3种
1. 声明该属性的时候初始化
2. 构造方法中初始化
3. 初始化块
类属性初始化有2种
1. 声明该属性的时候初始化
2. 静态初始化块
17.异常
try cath ,throw,throws