Java基础知识清单
来源:互联网 发布:笔记本电脑蹭网软件 编辑:程序博客网 时间:2024/05/16 06:51
题记
Java的学习都是通过Google用到什么就查什么,不成系统。
虽然相比于面向对象语言C++有很大的相似性,但也有很多不同点。
本文就基于《Java语言程序设计》(基础篇)过一遍基础知识点,着重过一遍C++没有的。
知识清单
1、Java语言是区分大小写的。
2、boolean类型是Java的布尔类型,区别于C++的bool类型。
特别注意,boolean类型的判定方法同C&C++,如下:
if (even) {}
3、字符串变量相等判定,不能使用==,而应该使用equals( )或者equalsIgnoreCase( )方法。
4、字符串和数字间的转换方法
int intValue = Integer.parseInt(intString);double doubleValue = Double.parseDouble(doubleString);String s = number + "";
5、方法的静态修饰符的含义?
public static int max(int num1, int num2){}
6、每调用一个方法时,系统会创建一个活动记录(也称为活动框架),用于保存方法中的参数和变量。
活动记录置于一个内存区域中,称为调用堆栈(call stack)
7、重载方法:方法名称相同,但是参数不同。
注意:不能基于不同修饰符或返回值类型来重载方法。
8、elementType[] arrayRefVar; 声明一个数组时并不在内存中给数组分配任何空间,它只是创建了一个对数组的引用的存储位置。
double[] myList = new double[10];
数组大小:arrayRefVal.length;
数组遍历新方法:
for (double e: mylist){System.out.println(e);}
9、对于数组类型参数,参数值是数组的引用,给方法传递的是这个引用。
参数传递的是共享信息,即方法中的数组和传递的数组时一样的。
所以,如果改变方法中的数组,将会看到方法外的数组也变化了。
10、可变长参数列表
1)只能给方法中指定一个可变长参数,
2)参数必须是最后一个参数,任何常规参数都在它之前。
11、Java运行系统会检测垃圾并自动回收它所占用的空间,这个过程称为垃圾回收(garbage collection)
12、如何判定一个变量或方法应该是实例的还是静态的?
如果一个变量或方法依赖于类的某个实例,那它应该就可以定义为实例变量和实例方法。
相反,如果不依赖于类的某个具体实例,就应该将它定义为静态变量或静态方法。
13、给方法传递一个对象,是将对象的引用传递给方法。
14、Java提供了一个将基本数据类型并入对象或包装成对象。
例如:将int包装成Integer类,将double包装成Double类,将char包装成Character类。
15、StringBuilder、StringbBuffer类可以添加、插入、追加新内容,但是String对象一旦创建,它的值就确定了。
16、继承中,关键词super指代父类,可以用于调用父类中的普通方法和构造方法。
这点不同于C++的自动调用,父类的构造方法不会被子类继承。它们只能使用关键字super从子类的构造方法中调用。
17、重写发生在通过继承关系而相关的不同类中;
重载可以发生在同一个类中,也可以发生在由于继承而相关的不同类中。
18、Java 中的所有类都继承自java.lang.Object类。
19、Java 多态和核心:父类的变量可以指向子类对象。
20、动态绑定:方法可以沿着继承链的多个类中实现。JVM决定运行时调用哪个方法。
21、final修饰符
一个被final修饰符修饰的类和方法都不能被扩展。final修饰的类是不能有父类的。
被final修饰的数据域是一个常数。
22、异常处理
最根本的优势:将检测错误(由被调用的方法完成)从处理错误(由调用方法完成)中分离出来。
23、异常处理步骤:
1)声明异常
2)抛出异常
method2() throw Exception{if (an error occurs){throw new Exception();}}
3)捕method()
try{invoke method2;}catch (Exception ex){Process exception;}}
try{System.out.println(refVal.toString());}catch(NullPointerException ex){System.out.println("refVar is null");}
最好的方式:
if (refVal != null){System.out.println(refVal.toString());}else{System.out.println("refVar is null");}
24、接口Interface
使用接口或多或少有点像使用抽象类。
public interface T{int k = 1; //java 允许忽略 public static finalvoid p(); //java 允许忽略 public abstract}
等价于
public interface T {public static final int k = 1;public abstract void p();}
不能使用new操作符创建接口的实例。
一个类可以实现多个接口,但是只能继承一个父类。
定义一个接口和抽象类有如下不同:
1)变量
抽象类变量无限制;接口——所有变量必须是public static final;
2)构造方法
抽象类——子类通过构造方法链调用构造方法,
抽象类不能用new 操作实例化。
接口——没有构造方法,接口不能用new操作符实例化。
3)方法
抽象类——无限制;
接口——所有方法必须是公用的抽象实例方法。
25、类的设计原则
1)内聚性——
类应该描述一个单一的实体,而所有的类操作应该在逻辑上相互配合,支持一个一致的目的。
2)一致性——
遵循标准Java设计风格和命名习惯。
3)封装性——
一个类应该使用private修饰符隐藏其数据,以免用户直接访问它。
4)清晰性——
方法在不产生混淆的情况下进行直观定义。
5)完整性——
类是为不同的用户的使用而设计的。
6)实例和静态——
如果一个变量被类的所有实例所共享,那就应该将它声明为静态的。
7)继承和聚合——
继承 is-a(是一种)关系;
聚合 has-a(具有)关系。
8)接口和抽象类——
is-a可以使用类的继承关系建模;
is-kind-of (是一种),可以使用接口建模。
《Java语言程序设计》(基础篇)第10版 Y.Daniel Liang
小结
语言是相通的,由于大学里没有学过Java。所以,从最早的对Java 语言抵触,到Java无从下手,到项目中使用项目近一年时间,有很大收获。
但毕竟属于遇到什么查什么,学习的不够系统。
所以,借助本清单进行了系统的查漏补缺。
Next:进阶篇——《Java进阶知识清单》
2017年09月05日 23:30 于家中床前
作者:铭毅天下
转载请标明出处,原文地址:
http://blog.csdn.net/laoyang360/article/details/77860033
如果感觉本文对您有帮助,请点击‘喜欢’支持一下,并分享出去,让更多的人受益。您的支持是我坚持写作最大的动力,谢谢!
- Java基础知识清单
- Java基础知识小清单(一)
- 技术面试笔试基础知识清单
- 读书清单----java类
- java学习清单
- Java API设计清单
- Java API设计清单
- Java API 设计清单
- Java Code Review清单
- Java Code Review清单
- Java Code Review清单
- Java Code Review清单
- Java Code Review清单
- Java Code Review清单
- Java Code Review清单
- java Code Review清单
- java书籍阅读清单
- Java学习清单
- 字母转换
- PLSQL 11破解码
- HTML 文本框只读 不能修改其中的内容
- [JS] 七种加密解密方法
- Java中如何封装自己的类,建立并使用自己的类库?
- Java基础知识清单
- 清除浮动的几种方法,各自的优缺点
- 使用js实现楼层跳跃
- iOS学习笔记-118.多线程17——NSOperationQueue队列的取消、暂停、恢复
- 线程池原理解析
- 计算机设计思想 —— 解耦(分离)与内聚
- 微信小程序之兼容问题
- python:1:数字类型相关函数
- 三个Java多线程循环顺序周期打印1-75个数