java学习总结,java总结
java学习总结,java总结
java的跨平台性是依靠java虚拟机的不跨平台性来实现的
java的跨平台性是依靠java的中间的class字节码文件跨平台的
java的内存空间的管理(回收)是自动的,不用程序去管理
java和javac放在bin目录下面
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.关键字class定义一个类
2.java中所有语句都必须放在一个类中
3.类中的成员都包含在一对{....}中
4.定义类的语法
class 类名 {
}
5.程序必须是从main函数开始执行的 main函数格式是固定的
6.关键字void声明无返回值
7.java语句以 “;" 作为一句的结束标记
8.java语言严格区分大小写
9.java以//表示单行注释 以/**/作为多行注释 以/** */作为文档注释
10.java中类名以驼峰法表示,首字母大写
11.java中可以包含多个类,但只有一个pubic声明的类,并且文件名要与public声明的类名相同
12. SDK:软件开发工具包
JDK:java开发工具包
JRE:java运行时环境
IDE:集成开发环境
13.java的字符类型占用2个字节
14.局部变量的作用范围是从声明位置开始到此局部变量块结束为止
成员变量的作用范围是整个类
15.java中的八种基本类型:byte/short/int/long/boolean/float/double/char
16.自动类型转换
16.1 类型转换是发生自动类型转换的必要条件
16.2 目标类型大于源类型(自动提升)
17.switch是可以返回整形的表达形式
18.java中所有对象都存储在内存堆中,java中字符串和数组是对象,所有也存储在堆中
19.在32位的系统中,整形的引用类型变量在内存中占有4个字节,而64位是8个字节
20.从控制台接收输入语句:
Scanner in = new Scanner(System.in);
21.当java中的对象不在被任何引用时,该对象可以被回收,回收时间不确定
========================================================================================================================
OOP面向对象编程
1.成员变量在内存堆中,局部变量在内存栈中
2.当在java类中没有定义构造方法时,java编译器会自动生成一个无参的构造方法,但是当在java类中自定义了构造方法,java编译器
将不会自动生成无参的构造方法。(注:当java类中自定义了有参的构造方法,请注意最好在自定义一个无参的构造方法)
3.在java类中,一般会java成员变量定义为private,而成员方法定义为public(不是绝对的)。
4.因为main方法是由java虚拟机来调用的,所有会将main方法声明为public
5.构造方法与类同名,但是它不是类的成员
6.一个源文件中最好只定义一个类
7.类和对象的关系:类是具有相同成员(属性和方法)的一类对象的集合,而对象是类中的一个具体实例
8.封装一般是java成员变量定义为private的访问权限,并提供public的get/set方法
9.一个类中如果有存在两个方法名和参数列表(参数类型,个数,顺序)相同,就会认为是同一个方法,会报错,否则就会认为不是
同一个方法。并如果方法名相同,参数列表不同,这时就构成了“方法重载”。
10.java 方法体中的this关键字指向的是当前调用该方法的对象。
11.当局部变量和成员变量的名字相同时,局部变量就会覆盖成员变量,这时就要用this关键字来区分,this指向的是成员变量。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.java类中的成员分:成员变量 和 成员方法
成员变量 分:静态成员变量 和 实例成员变量
成员方法 分:静态成员方法 和 实例成员方法
所有实例成员都属于对象调用 所有静态成员最好用类本身调用
A.实例方法可操作类中所成员
B.静态方法只能操作静态成员
C.对象可以访问类中所有成员,但不建议直接访问类中的静态成员,静态成员可以通过类名直接访问,反过来说类名不能访问实例成员,只能访问静态成员
D.实例方法内部隐含调用实例方法的对象this,静态方法内部隐含存在调用该静态方法的类
类中的静态代码块,在类被加载时执行一次,只执行一次
静态代码块一个类中可以有多个,执行顺序从上而下执行
注:在java虚拟机中,类中的静态代码块被加载到client()方法中执行;
注:构造方法不能被定义为静态的
面向对象的程序设计的三大特征
1.封装:实现了代码安全性
2.继承:实现了代码的重用
3.多态:提高了代码的扩展
java中父类中的构造方法不能被子类继承(构造方法不属于类成员)
注:当实例化子类对象时,必须先执行父类的构造方法,然后在实例化子类。如果父类中构造方法执行失败,那么子类对象将无法实例化成功
当父类中的成员名与子类中的成员名相同时,那么 super.成员名 来调用父类的成员,但默认调用子类自己的成员
在构造方法中,this(),super()都放在第一层,所有构造方法中不能同时有this() 和 super()
在父类中被final修饰的方法,子类中不能被重写。子类中重写方法的访问权限必须大于或等于父类中的访问权限
方法重载与方法重写的区别
方法重载是在同一个类中,方法名相同,但参数列表不同的两个方法。而方法重写是在继承关系中,子类重写父类中方法名和参数列表相同的方法啊(重写必要条件是要有继承)
final
1. final修饰的类不可被继承
2. final修饰的方法不可被重写
3. final修饰的变量为常量
多态的3个必要条件
1.要有继承
2.要有重写
3.父类引用指向子类对象
上转型(自动):父类引用指向子类对象(动态绑定)
向下转型(需强制转型)
注:abstract与final static不能同时使用
注:1,子类重写父类方法要抛出与父类一致的异常,或者不抛出异常
2,子类重写父类方法所抛出的异常不能超过父类的范畴
相关文章
- 暂无相关文章
用户点评