1 java 的原生数据类型一共有8种:
(1)整型:使用int表示。(32位)
(2)字节型:使用byte表示。(表示-128~127之间的256个整数)。
(3)短整型:使用short表示。(表示16位)
(4)长整型:使用long表示。(64位)
(5)单精度浮点型:使用float表示。所谓的浮点型,指的就是小数,也叫做实数,比如1.2。
(6)双精度浮点型:使用double表示。双精度浮点型表示的数据范围要比单精度浮点型大。(java中的所有浮点类型默认的情况下都是double)
(7)字符型:使用double表示。双精度浮点型表示的数据范围要比单精度浮点型大。
(8)布尔类型,使用boolean表示。布尔类型只有两种可能值,分别是true与false。
2. 属性需要定义在类中叫做成员变量;而定义在方法中的变量又叫做局部变量。
3. 局部变量使用前必须要声明并赋初值;成员变量使用前必须要声明,但可以不赋值。
4. 命名: 类:首字母大写, 每个单词首字母都要大写。
方法:首字母小写。从第二个单词开始,每个单词的首字母大写。
属性:同上(与方法相同)。
5. break 和 continue的作用和区别
break和continue都是用来控制循环结构的,主要是停止循环。
1).break
有时候我们想在某种条件出现的时候终止循环而不是等到循环条件为false才终止。
这是我们可以使用break来完成。break用于完全结束一个循环,跳出循环体执行循环后面的语句。(结束当前语句所在的所有循环)
2).continue
continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环。
可以理解为continue是跳过当次循环中剩下的语句,执行下一次循环。
6. 如果一个java源文件中定义了多个类,那么这些类中最多只能有一个类是public的,换句话说,定义的多个类可以都不是public的。如果有一个类是public,则main方法肯定在这个public类里面。
7. 构造方法(Constructor):构造方法用于完成对象属性的初始化工作,构造方法的特点:
a) 构造方法的名字必须与类名完全一致(包含大小写)
b) 构造方法没有返回值,连void也不能出现。
c) 如果在定义一个类的时候,没有为类声明构造方法,那么Java编译器会自动为类添加一个没有参数且方法体为空的构造方法(默认的构造 方法)
d) 如果在定义一个类的时候,为类声明了构造方法,那么Java编译器就不会再为类添加构造方法了。
e) 不能显式调用类的构造方法,构造方法通常是通过new关键字隐式调用。
8. new关键字在生成对象时完成了三件事情:
a) 为对象开辟内存空间。
b) 调用类的构造方法。
c) 将生成的对象的地址返回。
默认的构造方法:构造方法没有参数且方法体为空。
9. 使用new来生成对象的时候,后面的小括号()表示构造方法的参数列表,如果构造方法不接收参数,那么小括号中的内容为空;如果构造方法接 收参数,那么小括号中的实际参数就需要与构造方法定义中的形式参数保持一致(参数数量一致、参数类型一致、按照顺序逐一赋值)。
10. 构造方法重载:只需看参数即可。如果想在一个构造方法中调用另外一个构造方法,那么可以使用this()的方式调用,this()括号中的参数表 示目标构造方法的参数。this()必须要作为构造方法的第一条语句,换句话说,this()之前不能有任何可执行的代码。
11. 继承(inheritence):java是单继承的,意味着一个类只能从另一个类继承(被继承的类叫做父类【基类,base class】,继承的类叫做子类),java中的继承使用extends关键字。
12. 当生成子类对象时,Java默认首先调用父类的不带参数的构造方法,然后执行该构造方法,生成父类的对象。接下来,再去调用子类的构造方法,生成子类的对象。【要想生成子类的对象,首先需要生成父类的对象,没有父类对象就没有子类对象。比如说:没有父亲,就没有孩子】。
13. super关键字:super表示对父类对象的引用。
14. 如果子类使用super()显式调用父类的某个构造方法,那么在执行的时候就会寻找与super()所对应的构造方法而不会再去寻找父类的不带参数 的构造方法。与this一样,super也必须要作为构造方法的第一条执行语句,前面不能有其他可执行语句。
15.关于继承的3点:
a) 父类有的,子类也有
b) 父类没有的,子类可以增加
c) 父类有的,子类可以改变
16. 关于继承的注意事项
a) 构造方法不能被继承
b) 方法和属性可以被继承
c) 子类的构造方法隐式地调用父类的不带参数的构造方法
d) 当父类没有不带参数的构造方法时,子类需要使用super来显
式地调用父类的构造方法,super指的是对父类的引用
e) super关键字必须是构造方法中的第一行语句。
17. 方法重写(Override):又叫做覆写,子类与父类的方法返回类型一样、方法名称一样,参数一样,这样我们说子类与父类的方法构成了重写 关系。
18. 方法重载和方法重写(覆盖)的区别:
重载发生在同一个类内部的两个或多个方法。与原方法方法名一样,参数个数或者类型不一样,原方法独立存在。根据参数判断调用哪个方法。
重写发生在父类与子类之间。返回类型一样、方法名称一样,参数一样。原方法被覆盖。
19. 构造方法是用来构造对象,所以需要先构造父类的对象,再构造子类的对象。所以super() 和 this()需要放在方法里面的第一行执行语句。
当两个方法形成重写关系时,可以在子类方法中通过super.run()形式调用父类的run()方法,其中super.run()不必放在第一行语句,因此此时父类对象已经构造完毕,先调用父类的run()方法还是先调用子类的run()方法是根据程序的逻辑决定的。
20. 一共有两种类型的强制类型转换: a) 向上类型转换(upcast):比如说将 Cat 类型转换为 Animal 类型,即将子类型 转换为父类型。对于向上类型转换,不需要显式指定。
Cat cat = new Cat();
Animal animal = cat;//此处不需要显式添加强制类型转换语句,因为子类就是父类(父类不是子类)
animal.sing();
b) 向下类型转换(downcast):比如将 Animal 类型转换为 Cat 类型。即将父类型 转换为子类型。对于向下类型转换,必须要显式指定(必须要使用强制类型转换)。
Animal animal = new Cat();
Cat cat = (Cat)animal;//向下类型转换,animal指向哪个类型的对象才能转换成哪个类型
cat.sing();
21. 在定义一个类的时候,如果没有显式指定该类的父类,那么该类就会继承于java.lang.Object类(JDK提供的一个类,Object类是Java中所有 类的直接或间接父类)。
22. 多态(Polymorphism):我们说子类就是父类(玫瑰是花,男人是人),因此多态的意思就是:父类型的引用可以指向子类的对象。
23.
浙公网安备 33010602011771号