Java语法知识点
1. 特殊字符
a) \n 换行符
b) \t 制表符
<------------------------------------------------------------------------------------------------->
2. 8个基本数据类型
byte 字节型 1
short 短整型 2
int 整型 4
long 长整型 8
char 字符型 2
boolean 布尔型 1
float 浮点型 4
double 双精度浮点型 8
自动转换 long a = 100; 100(int) ---- long
强制转换 int i = 10;
byte b = (byte)i;
强制转换可能会丢失数据。
引用类型(String 数组 。。。对象)
<------------------------------------------------------------------------------------------------->
3. 三目运算
|
int a = 5>4?10:100;//a=10 |
|
表达式?值1:值2 |
|
表达式为true 取值1否则取值2 |
<------------------------------------------------------------------------------------------------->
4. If
|
if的 {} 可以省略,如果省略 ,if下的第一句是属于if |
|
if(条件){ //代码块 } |
|
条件结果必须是boolean结果 结果为true,则执行代码块 注意:js中if的条件 非数字0即真 |
<------------------------------------------------------------------------------------------------->
5. Switch
Switch表达式的类型? char int short bety
break在switch的用法 case 后面;
default 的位置?是否可以省略 任何位置可以都可以,可以
case 是否可以相同 不能
switch和if的使用场合(区别)
break:
用在switch:跳出switch,防止穿透
用在循环:跳出当前循环
continue:结束本次循环,进入下一次循环
return语句:
return语句执行后,该方法后面的代码都不会再执行。
<------------------------------------------------------------------------------------------------->
6. while 与 do while
while:先判断条件再执行。
od-while:先执行一次在判断。
声明一下没有while-do这个语法!!!
<------------------------------------------------------------------------------------------------->
7. 代码调试
l 打断点 :断点位置是即将要执行的代码。
n F6 :单步执行
<------------------------------------------------------------------------------------------------->
8. 内存
分堆和栈



<------------------------------------------------------------------------------------------------->
9. 类和对象
一. 类即分类,抽象的,一种定义
二. 对象是客观存在的,占据空间的
类是一群具有相同特征(属性)和行为(方法)的抽象定义
对象是类的具体化(实例化new xxx)
<------------------------------------------------------------------------------------------------->
10. 命名法
1. 帕斯卡命名法,每个单词首字母大写,java一般应用在类名
如: GirlFriend, MyHomeWorld, YourName ...
2. 驼峰命名法,第一个单词首字母小写,后面单词每个首字母大写
如: girlFriend, myHomeWorld, yourName
java一般应用在属性和方法上
3. 匈牙利命名法,每个字母都大写,单词与单词之间使用下划线隔开
如:GIRL_FRIEND, MY_HOME_WORLD, YOUR_NAME。
java一般用在静态常量上,其他更多应用在数据库字段上。
<------------------------------------------------------------------------------------------------->
11.成员变量和局部变量
实例方法:属于对象的方法
不用static修饰,通过对象名.方法名()调用
类方法 :属于类的方法
用 static修饰(也叫静态方法),可以直接通过类名.方法名() 调用,也可以
通过对象名.方法名() 调用
static : 静态的,在加载类时会加载
修饰成员(成员变量,成员方法)
修饰方法,该方法是静态方法(类方法) ,可以直接通过类名调用
静态方法里不能使用非静态变量、
修饰变量,该变量是静态的,所有对象共享(该变量只有一份)
成员变量和局部变量重名时,优先使用局部变量
成员变量有默认值,局部变量没有默认值,局部变量使用前必须赋初始值
成员变量的作用域:在整个类中有效
局部变量作用域:只在定义该变量的{}内有效。
<------------------------------------------------------------------------------------------------->
12. super的用法:
(1)super.属性 访问父类的属性
(2)super.方法(..) 调用父类的方法
(3)super(…) 调用父类的构造方法
在子类构造中用super(..)调用父类的构造,super(..)必须放在第一句,所以,this(..)和super(..)不能在同一个构造中出现。
在子类的构造中的第一句默认有个隐式的super(),表示调用父类的无参构造,所以在new子类对象时,会先执行父类的构造。
当父类没有无参构造时,子类必须添加构造,并且在构造的第一句调用父类的有参构造。
<------------------------------------------------------------------------------------------------->
13. 继承: extends(关键字)
子类继承父类的属性和方法
一个类只能继承一个父类(单继承)
子类不能继承父类私有的成员
子类不能继承父类的构造
子类与父类不在同包,使用默认访问权限的成员也不能被继承
<------------------------------------------------------------------------------------------------->
14. 访问控制修饰符:
|
|
本类 |
同包其他类 |
子孙类 |
跨包 |
|
Public(公共的) |
√ |
√ |
√ |
√ |
|
Protected(受保护的) |
√ |
√ |
√ |
X |
|
默认的(friendly) |
√ |
√ |
同包子孙类可访问 |
X |
|
Private(私有的) |
√ |
X |
X |
X |
继承的好处
提高代码的复用性
为多态提供基础
<------------------------------------------------------------------------------------------------->
15. 重写(覆盖)
当父类的方法满足不了子类需求时,子类会重新写一个与父类方法名,参数列表一样的方法。
重写的具体规则:
方法名一样,参数列表一样,返回值类型一样(子类方法的返回类型可以是父类方法返回类型的子类),修饰符不比父类的修饰符严格(抛出的异常不比父类的大)

<------------------------------------------------------------------------------------------------->

16. final的用法
修饰类 不可被继承
修饰方法 不可被重写
修饰变量 该变量是常量,不可改变
Final 修饰引用类型时,不能改变地址,但是可以改变地址上的内容
|
final A a = new A(); |
<------------------------------------------------------------------------------------------------->
17. 抽象类,抽象方法
当某个方法的方法体不清楚时,干脆把该方法的方法体删掉,加上abstract关键字修饰,该方法是一个抽象方法。该方法所在的类应该定义成抽象类。
当普通类继承抽象类时,普通类必须重写抽象类里的抽象方法。
抽象类不能实例化(不能new 对象)
抽象类有构造方法
抽象类有普通的成员变量
抽象类中可以有普通方法和抽象方法。
<------------------------------------------------------------------------------------------------->
18. 多态
一种事物的多种表现形态。
狗可以叫做动物:
Animal ani = new Dog();//父类引用指向子类对象
ani是一个引用(地址) ,引用是父类类型
new Dog() new的是子类的对象
狗也可以叫做狗:
Dog dog = new Dog()
多态时
普通成员变量: 编译期和运行期都看=左边的引用是什么类型
左边的引用如果是父类类型,所访问的变量是父类的
左边的引用如果是子类类型,所访问的变量是子类的
普通成员方法: 运行期看=右边new的是什么类型的对象
如果new的是哪个类的对象,调用的就是哪个类的方法
编译期看左边。
静态方法:编译期运行期都看=左边
左边是什么类型,调用的就是该类的方法。
静态成员变量:编译期和运行期都看=左边
<------------------------------------------------------------------------------------------------->

<------------------------------------------------------------------------------------------------->
19. 转型:
Dog dog1 = (Dog)pet;//向下转型(将父类引用转化为子类的引用)
//编译正确,执行抛出异常ClassCastException
// Penguin penguin = (Penguin)pet;//
//编译正确,执行抛出异常ClassCastException
Fa fa = new Fa();
Son son = (Son)fa;
多态的好处:
提高程序的扩展性,可维护性。
多态的表现形式:
父类引用指向子类对象,重写,重载,可变长参数的方法
|
public void show(Object... nums){ for (Object num : nums) { System.out.println(num); } } |
|
Object:所有类的根类,所有的类直接或间接继承Object类 |
<------------------------------------------------------------------------------------------------->
20. 接口:
接口:特殊的抽象类,也可理解为一种能力,一种规范(约束)
一种规范(约束):约束所有的实现类都必须实现接口中的抽象方法
一种能力:想要具备某种能力,只要实现有该能力的接口。
/**
* 接口中的变量都是静态常量
* 在接口中定义一个变量,默认会加上public final static
* 接口中的方法都是抽象方法(jdk1.8之前)
* 定义的方法默认会加上public abstract
* 类和类可以是继承extends关系,单继承
* 类和接口 是类 实现implements接口,可多实现
* 接口和接口 接口继承接口,并且可以多继承接口。
*
* 普通类实现接口必须实现接口中的所有抽象方法
* 抽象类实现接口可以不用实现接口中的方法
*
* jdk1.8及以上
* 接口中可以有static 或default修饰的普通方法
*/
<------------------------------------------------------------------------------------------------->
Java语法知识点的更多相关文章
- Java语法知识点2
1. 基本数据类型的包装类 byte Byte short Short int Integer long Long float Float double Double boolea ...
- Java 面试知识点解析(一)——基础知识篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- Java 面试知识点解析(四)——版本特性篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- Java 面试知识点解析(六)——数据库篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- Java 面试知识点解析(七)——Web篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- Java 基础知识点小结
小知识点 所有的程序,都要定义在类里面: 异常 定义方法时,使用 throws 可以用来捕获方法体内没有捕获的异常,然后以 SomeException 抛出异常 java是解释型语言.java虚拟机能 ...
- Java基础知识点总结
前言 本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其 ...
- Java入门知识点
Java入门知识点 Java源代码的流程 Java程序由.java文件生成,通过JVM进行编译得到字节文件.class class HelloWorld { public static void ...
- JAVA基础知识点总结(全集)
1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境 ...
随机推荐
- JAVA并发-对象方法wait
最简单的东西,往往包含了最复杂的实现,因为需要为上层的存在提供一个稳定的基础,Object作为java中所有对象的基类,其存在的价值不言而喻,其中wait和notify方法的实现多线程协作提供了保证. ...
- 出现 sudo: unable to resolve host XXX 信息解决办法
Ubuntu环境, 每次执行sudo 就出现这个警告讯息:sudo: unable to resolve host XXX虽然sudo 还是可以正常执行,是机器在反解上的问题, 所以就直接从/etc ...
- STL 二分查找
实现源码:https://www.cnblogs.com/cobbliu/archive/2012/05/21/2512249.html 1.在一个递增的数组(或vector)中查找元素属于[ s , ...
- 洛谷p1747好奇怪的游戏题解
题目 永远不要怀疑劳动人民的智慧! 把快读里最后的return直接返回零的 我已经不是第一次写错了! 我要是再写错我就****** 主要是逆向思维,把从两个点往(1, 1)走想成从(1, 1)点往这两 ...
- day 14
Sow an act, and you reap a habit. Sow a habit, and you reap a character. Sow a character, and you re ...
- VueCli3新特性
升级VueCli3的理由: 1.构建速度大大加快,之前看到一个升级的例子是2的3倍速度,具体可以在自己迁移一个项 目测试下,这里的优化有默认开启了多核构建.缓存 并行和缓存 2.webpack被内置到 ...
- JS- 数组去重方法整理
[indexOf] 简单而且可以加中文,但是兼容性不好,indexOF兼容到ie9 function uniq(arr) { var temp = []; for (let i = 0; i < ...
- Spring Cloud Zuul 精进
接着上一篇继续讲Zuul,上一篇搭建了Zuul的环境简单说明了怎么使用,本篇查缺补漏将一些常用的配置贴出来.文末我们会一起分析一下Zuul的源码,升华一下本篇的格调! 忽略所有微服务或某些微服务 默认 ...
- SQL中join连接查询时条件放在on后与where后的区别
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户. 在使用left jion时,on和where条件的区别如下: 1. on条件是在生成临时表时使用的条 ...
- ASP.NET-------gridview 进行编辑的时候,给出提示
在使用gridview 控件的时候,控制修改人的操作行为,并给出合理的提示, 比如 在执行编辑操作的时候 不允许姓名为空,并显示出提示,姓名不可以为空 操作: 前台页面,对一些字段的解释 一定要注意 ...


