1. Java 里面的 boolean 和 Integer 两种类型并不相容。
2. 创建对象时,它会被存放在称为堆的内存区域中。此区域并非普通的堆,它是可回收垃圾的堆。
3. 变量有两种:primitive 主数据类型和引用。
4. 整型变量:byte short int long 浮点类型默认的是 double。要声明float,需要在数字后加上f。
5. 变量名称规则:必须以字母、下划线(_)或$ 符号开头,不能用数字开头。不能使用保留字。
6. 事实上没有对象变量这样的东西存在,只有引用(reference)到对象的变量。在Java 中只有虚拟机
才会知道如何使用引用来取得该对象。对象只会存在于 堆上。primitive 主数据类型变量是以字节
来代表实际的变量值。
7. 对于任意一个Java 虚拟机来说引用的大小都一样,但不同的Java 虚拟机间可能以不同的方式来表示引用。
8. 数组变量是数组对象的遥控器。数组对象可以有primitive 主数据类型的元素,但数组本身绝对不会是
primitive 主数据类型。不管数组带有什么,它一定是对象。
9. 没有引用到任何对象的引用变量的值为 null。Java 是通过值传递的,也就是说通过拷贝传递。
10. Encapsulation(封装)
11. 类的实例变量永远都会有默认值,integer=0;float=0.0;boolean=false;reference=null。
但是函数里面的局部变量,在使用之前必须初始化的。
public void output() {
//temp 必须先初始化,不然会报错
double temp;
System.out.println("result:" + temp);
}
12. 使用 == 来比较两个primitive主数据类型,或者判断两个引用是否引用同一个对象。
使用 equals() 来判断两个对象是否在意义上相等。
13. 用继承来防止子类中出现重复的代码。当你调用对象引用的方法时,你会调用到与该对象类型最接近的方法。
换句话说,最低阶的会胜出。
14. 当一个类继承自另外一个类时,我们会说这是子类去继承父类。若你想要知道某物是否应该要去继承另外一物时,
则可以用IS-A 测试来检验。可以用HAS-A 来检验某一物是否为某物的属性。
15. 如果在子类中还打算引用父类的方法,然后加上额外的行为,需要用到super 关键字。
16. 确定子类的存取权限。
public 类型的成员会被继承 private 类型的成员不会被继承。如果两者间不能通过IS-A 测试就不要应用继承关系。
一定要确定子类是父类一种更特定的类型才可以。
17. 在多态下,引用与对象可以是不同的类型。
//多态的威力
Animal[] animals = new Animal[5];
animals[0] = new Dog();
animals[1] = new Cat();
animals[2] = new Wolf();
animals[3] = new Hippo();
animals[4] = new Lion();
for (int i=0; i < animals.length; i++) {
animals[i].eat();
animals[i].makeNoise();
}
class Vet {
public void giveShot(Animal a) {
a.makeNoise();
}
}
class PetOwner {
public void start() {
Vet v = new Vet();
Dog d = new Dog();
Hippo h = new Hippo();
v.giveShot(d);
v.giveShot(h);
}
}
18. 没有private class 这个概念。但是有三种方法可以防止某个类被继承。
1)存取控制。就算类不能标记为私有,但它还是可以不标记共有。非公有的类只能被同一个包的 类作出子类。
2)使用 final 这个修饰符。这表示它是继承树的末端,不能被继承。如果要防止特定的方法被覆盖,可以将
该方法标识上 final 这个修饰符。将这个类标识成 final 表示没有任何的方法可以被覆盖。
3)让类只拥有private 的构造函数(constructor)
19. 覆盖的规则
1)参数必须一致,且返回类型必须要兼容。父类的合约定义出其他的程序代码要如何来使用方法。
不管父类使用了哪种参数,覆盖此方法的子类也一定要使用相同的参数。而不论父类声明的返回类型是
什么,子类必须要声明返回一样的类型或者该类型的子类。要记得,子对象得保证能够执行父类的一切。
2)不能降低方法的存取权限。这代表存取权限必须相同,或者更为开放。举例来说,你不能覆盖掉一个
公有的方法并将它标记为私有。
20. 方法的重载(overload)
1)返回类型可以不同
2)不能只改变返回类型
3)可以更改存取权限
分享到:
相关推荐
Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习...
Java学习笔记1 Java学习笔记1是学习Java过程中的笔记,主要记录了Eclipse开发环境中的快捷键使用、编辑功能、查找和调试等知识点。 Eclipse快捷键 Eclipse中有许多快捷键,掌握这些快捷键可以大大提高开发效率。...
java学习笔记java学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记...
Java学习笔记 Java是一种流行的编程语言,广泛应用于Android应用程序开发、Web应用程序开发、桌面应用程序开发等领域。以下是Java学习笔记的摘要信息: 一、Java技术基础 * 1.1 编程语言:Java是一种面向对象的...
Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。...Java学习笔记涵盖了这些核心知识点,通过深入学习和实践,你可以逐步掌握Java编程,并应用于实际项目开发中。
"Java学习笔记——良葛格"是一份专为初学者设计的教程资料,由良葛格精心编写,旨在帮助读者掌握JDK5.0版本的Java基础知识。JDK(Java Development Kit)是Java开发的核心工具集,包含了编译器、调试器和运行环境等...
java完整学习笔记 JAVA学习目录
本知识点的标题为“Java学习笔记(必看经典)”,意味着所整理的内容是针对Java初学者的一系列核心概念和原理的总结。 首先,面向对象编程是Java语言的核心,它与传统的面向过程编程有显著的不同。面向对象编程强调的...
这份《java学习》笔记包含了多个核心主题,旨在帮助初学者和有经验的开发者深入理解和掌握Java技术。 1. **正则表达式(正则.md)**: 正则表达式在Java中用于文本匹配和搜索,是处理字符串的强大工具。Java提供了...
《JAVA学习笔记》是林信良先生的一部深入浅出的Java编程教程,旨在帮助初学者和有一定经验的开发者巩固和提升Java编程技能。这本书涵盖了Java语言的基础到高级概念,是一份宝贵的自学资料。 首先,从基础部分开始,...
【Java学习笔记Markdown版】是针对Java初学者和进阶者的一份详尽教程,以Markdown格式编写,便于阅读和整理。Markdown是一种轻量级的标记语言,它允许用户使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML...
本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,旨在帮助初学者或有经验的开发者巩固和提升Java编程技能。 1. 面向对象(OOP):Java的核心是...
JAVA学习笔记 JAVA学习笔记是面向对象编程语言的学习笔记,涵盖了JAVA的基本概念、面向对象编程思想、类和对象的概念、实例变量和局部变量的区别、方法的定义和调用、类型转换、精度问题、移位问题、switch语句的...
"Java学习笔记" 本资源是一个关于Java编程语言的学习笔记,涵盖了Java的基础知识、语法、数据类型、变量、类型转换等方面的内容。 标题:"java学习笔记.pdf" 描述:"想自学的小伙伴可以看俺" 标签:"Java" 部分...
本篇“Java学习笔记电子书”显然是一份详尽的资源,旨在帮助新手逐步掌握这门语言。 首先,我们要了解Java中的对象和类。在Java中,一切皆为对象,这是面向对象编程的核心理念。对象是类的实例,类则是对象的蓝图或...
### Java学习笔记及心得知识点详细解析 #### 标题:Java学习笔记及心得 #### 描述:Core Java 学习笔记及心得 pdf格式可打开。涵盖了java的基础入门知识,非常适合自学的及想深入学习理解的同学。 #### 标签:...
Java学习笔记.pdf Java 是一种广泛应用的编程语言,它的开发环境、语言特点、基础语法等方面的知识是初学者必须掌握的。本资源提供了一个系统的 Java 学习笔记,涵盖了 Java 基础、面向对象、Java SE 核心等方面的...
### 瑜琅Java学习笔记概览 ...通过上述总结可以看出,瑜琅的Java学习笔记覆盖了Java的基础知识和核心概念,对于初学者来说是一份非常宝贵的资料。希望这份笔记能够帮助更多的人更好地理解和掌握Java编程。
这份"Java学习笔记PPT"是针对Java2版本的学习资源,旨在帮助初学者或有一定基础的开发者深入理解Java的核心概念和应用。 在Java学习的初期,掌握基本语法是至关重要的。Java的语法与C++有诸多相似之处,但更加强调...