- Java的两大数据类型:
内置数据类型:四个整数型,两个浮点型,一种字符类型,还有一种布尔型
引用数据类型:类,接口,数组
- 基本数据类型转换:
byte-short-int-long-float-double
char-int - Java中的内存分配:
3.1,java中的8中原始数据类型,其变量都是在栈中分配空间;而除了8中基本数据类型以外,其他的任何数据都不可以在栈中分配,只能在堆中开辟空间,而在堆中分配的控件又只能通过指针访问。
3.2,通过指针访问堆内存的方式,在java中被称为引用数据类型;可以认为java中的引用就类似于指针,
只是对指针进行了一定程度的包装,避免了因直接操作指针而造成的数据意外顺坏,从而导致程序的错误。 - 构造函数调用机制:
java规定,在执行构造函数之前必须执行父类的构造函数,直到这个类是java.lang.Ocject类的构造函数。
然而构造函数的入口是子类的构造函数,因此任何构造函数的第一句必须是执行父类的构造函数:
1,如果没有添加super关键字,那么编译器就会默认的为该构造函数第一句添加一个super()语句。
2,如果子类构造函数中 有super()关键字显示的调用父类的构造函数,否则默认的使用父类的无参构造函数。
3,特殊:存在this关键字调用本类其它构造函数,但是按照递归调用,最后还是会调用父类构造函数。
注意:1,如果你继承的父类没有无参构造函数,那么当前这个类第一句必须显示的使用super来调用父类对应的有参构造函数,否则不能通过编译;而在实际中,我们通常会显示的写出父类的无参构造函数。
2,在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。 -
接口
接口中变量默认是public static final ,且必须初始化,在实现类中不能重新定义,也不能改变其值
接口中的方法默认都是public abstract类型 - 异常
6.1 要理解Java异常处理是如何工作的,需要掌握以下三种类型的异常:
检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。
错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。
6.2 在Java中可以自定义异常。编写自己的异常类时需要记住下面的几点。- 所有异常都必须是Throwable的子类。
- 如果希望写一个检查性异常类,则需要继承Exception类。
- 如果你想写一个运行时异常类,那么需要继承RuntimeException 类。
6.3 在一个方法中,对于可能抛出的异常,处理的方法有两种: - 此方法不处理它产生的异常,只是在方法的头部申明使用throws抛出异常,使异常沿着调用层次向上传递,由使用它的方法来处理这些异常。
- 用try-catch-finally语句对异常进行及时的处理。
- Java语言提供了很多修饰符,主要分为以下两类
访问修饰符:
Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java支持4种不同的访问权限。
默认的,也称为default,在同一包内可见,不使用任何修饰符。
私有的,以private修饰符指定,在同一类内可见。
共有的,以public修饰符指定,对所有类可见。
受保护的,以protected修饰符指定,对同一包内的类和所有子类可见。
非访问修饰符:
8.一个类可以包含以下类型变量:
局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
(实列变量)成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
(静态变量)类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。 - break和continue:
break跳出最里层的循环,并且继续执行该循环下面的语句。
continue适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
注意:在for循环中,continue语句使程序立即跳转到更新语句。
在while或者do…while循环中,程序立即跳转到布尔表达式的判断语句。 - 编译阶段,只是检查参数的引用类型;运行时,运行的是特定对象的方法。
热门评论
总结的不错,赞一个。
Y(^_^)Y