java的堆内存是一个运行时数据区,这点跟C相似,但是用以保存类的实例(对象)。。不懂类的对象??--P19
为了更快地让垃圾回收机制回收那些不再使用的对象,可以将该对象的引用变量设置为null,通过这种方式暗示垃圾回收机制可以回收该对象?为什么设置为null就可以??-P19
对于不再需要的对象,不要引用它们,垃圾回收机制如何查看废弃对象??
第二章
P23
java语言是纯碎的面向对象的程序设计语言??如何理解----P23
java完全支持面向对象的三种基本特征:继承、封装和多态,继承,封装,多态如何理解??--P23
java完全支持使用对象、类、继承、封装、消息等基本概念来进行程序设计,对象、类、消息如何理解?
UML产生原因?为何要使用UML?
结构化开发方法和面向对象开发方法区别??分别代表什么含义?为啥子面向对象的可以提供更好的可重用性、可扩展性、可维护性??
P24
任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成,顺序结构??选择结构(if。。)?循环结构(for,while)??
它从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造尽可能运用人类的自然思维方式,强调直接以现实世界中的食物(对象)为中心,并根据这些事物的本质特点,把它们抽象地表示为系统中的类,作为系统的基本构造单元(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的过程来构造系统),这使得软件系统的组成以直接映像到客观世界,并保持客观世界中事物及其相互关系的本来面貌。。。。。。。啥子意思哦,看不懂,都快睡着了---P26
P27
采用面向对象对象开发的软件系统,其最小的程序单元是类,这些类可以生成系统中的多个对象??一个类可以生成多个对象,类跟对象之间的关联关系??--P27
一个类里面可以有多个方法??是否就像一个.c文件一样里面有多个方法??
为啥子类里面要成员变量(状态数据)和方法(行为)??一个类就是定义了一些字段(状态数据),然后再提供一些对这些状态数据的方法??
面向对象与面向过程的区别??
比如希望完成猪八戒吃西瓜。。为何面向过程就是吃(猪八戒,西瓜)??而面向对象就是猪八戒.吃(西瓜)??感觉我还是对对象、类的概念理解不起?
P28
封装指的是将对象的实现细节隐藏起来,然后通过一些公用方法来暴露该对象的功能??为啥子要隐藏。。??
继承是面向对象实现软件复用的重要手段,当子类继承父类后,将直接获得父类的属性和方法,那在子类中父类的属性与方法是否跟父类中属性与方法是否还有关联,在一个地方改变属性是否会影响其他地方的属性?是否是全局的意思?在子类中父类的方法完全相同?方法是否可以在父类方法的基础上修改?
多态指的是子类对象可以直接赋给父类变量,运行时依然表现出子类的行为特征,这意味着同一个类型的对象在执行同一个方法时,可能表现出多种行为特征,子类对象赋给父类变量啥子意思哦? 子类对象可以直接赋给父类变量啥子意思哦??运行时依然表现子类的行为特征又是如何体现的??同一个类型的对象在执行同一个方法时,可能表现出多种行为特征又是咋个理解呢?
对象是面向对象方法中最基本的概念,它的基本特点有:标识唯一性、分类性、多态性、封装性、模块独立性好。其中唯一标识,分类,模块独立性都是咋个体现的呢?
类是具有共同属性、共同方法的一类事物??类是对象的抽象,对象则是类的实例?如何理解。。
类的封装性将各种信息细节隐藏起来,并通过公用方法来暴露该类对外所提供的功能,从而提高了类的内聚性,降低了对象之间的耦合性。。如何理解??为何提高了类的内聚降低了耦合??
对象间的这种相互合作需要一个机制协助进行,这样的机制成为“消息”??
继承还可以有单继承跟多继承??那一个父类也可以有多个子类??子类跟父类不是形成了多对多的关系?
基于对象与面向对象的区别?
P32
通常不只是单独的一个类或单独一组类所能完成的,通常会由一个或多个可部署的组件组成,对java程序科研,可复用的组件通常打包成一个JAR、WAR等文件,组件是啥子意识?JAR、WAR是什么?
P36
对象具有状态,一个对象用数据值来描述它的状态??用数据值来描述对象的状态如何理解?java通过为对象定义成员变量来描述对象状态?对象还有操作,这些操作可以改变对象的状态,对象的操作也被称为对象的行为,java通过为行为定义方法来描述对象的行为。
java语言不允许直接访问对象,而是通过对对象的引用来操作对象?如何理解??
具有相同或相似性质的一组对象的抽象就是类??意思就是一个类是由多个对象组成??类是对一类事物的描述,是抽象、概念上的定义??对象的抽象化是类,类的具体化是对象??如何理解。。可以把类理解成某种概念、定义,它规定了某类对象所共同具有的数据和行为特征??
java语言使用class关键字定义类,public class有啥含义??public static void main又有啥含义是否相同?class是否一定需要public修饰??--P37
类之间存在一定的结构关系?何种结构关系?继承用什么表示??--P37
java语言通过在一个类里保存另一个对象的引用来实现这种组合关系??在一个类里调用另一个对象??为何能够这样?--P37
使用new来创建对象?不同的对象的数据可以存在差异?--P37
总结:结构化程序设计的基本特征??结构化设计存在缺陷??对象对象程序设计的相关概念?面向对象设计的三个基本特征??--P37
-----------------------------------------第三章-----------------------------------------------
P39
强类型??
为什么要添加程序注释??程序注释一般写什么内容??记得注释还应该包括方法的参数及返回值的数据类型及意义。
java文档注释??与一般注释的区别??单行使用//,多行使用/* */
P40
添加注释可以使调试程序的而一个重要方法??为啥子??
文档注释??文档注释怎么体现??
javadoc工具有什么作用??API文档是什么??
如何在在定义类、方法时添加文档注释??--P42
变量根据作用范围的不同可以分为成员变量和局部变量,成员变量和局部变量的区别??--P48
java语言支持的类型分为两类:基本类型和引用类型,啥子是引用类型?--P48
System.out.println(3 + 4 + "hello!");
System.out.println("Hello!" + 3 + 4); +不仅可以作为加法运算符使用,还可作为字符串连接运算符使用,在作为字符串连接运算符中有没有优先级??--P56
Math.random()是生成什么类型的随机数??范围0~1??--P57
java为8中基本类型提供了对应的包装类,8个包装类都提供了一个parseXxx(String str)静态方法用于将字符串转换成基本类型,字符串转换为基本类型值为什么??
静态方法是什么意思?难道还有动态方法?--P58
P59
boolean类型的直接量是??
char类型的直接量有哪几种??
P60
当程序第一次使用某个字符串直接量时,java会使用常量池(constant pool)来缓存该字符串直接量,常量池??
由于String类是一个典型的不可变类,因此String对象创建出来就不可能被改变,因此无须担心共享String对象会导致混乱,不可变类是什么??共享String对象不会导致混乱意思是没有同步等问题??
常量池指的是在编辑期被确定,并被保存在已编译的.class文件中的一些数据,它包括关于类、方法、接口中的常量,也包括字符串直接量。。。接口中的常量是啥子意思?接口是专门定义的??
类型相关运算符是什么??
-----------------------------------------------第四章---------------------------------------------------------------
P72
数组也是大部分编程语言都支持的数据结构,java也不例外,java的数组类型是一种引用类型的变量,java程序通过数组引用变量来操作数组。为啥子java的数组类型是一种引用类型?什么是引用类型??
如果省略了case后代码块的break,将引入一个陷进,什么陷进??--P78
数组是一种引用类型的变量,因此使用它定义一个变量时,仅仅表示定义了一个引用变量(也就是定义了一个指针),这个引用变量还未指向任何有效的内存,因此定义数组时不能指定数组的长度??为啥子还没指向有效的内存就不能定义数组的长度??--P87
由于定义数组只是定义了一个引用变量,并未指向任何有效的内存空间,所以还没有内存空间来存储数组元素,因此这个数组也不能使用,只有对数组进行初始化后才能使用。。为啥子定义的时候没有指向有效的内存空间??--P87
为什么不能再进行数组初始化时,既指定数组的长度,也为每个数组元素分配初始值??--P89
java.lang??为什么会出现java.lang的表达方式??--p89
实际的数组对象被存储在堆(heap)内存中,如果饮用该数组对象的数组引用变量是一个局部的,那么它被存储在栈(stack)中??存在堆跟栈中区别??--P92
可以让一个数组变量指向另一个实际的数组,可以直接给数组变量名赋值??这个感觉是不行的吧--P92
堆内存中的对象不会随着方法的结束而销毁,即使方法结束后,这个对象还可能被另一个所引用,则这个对象依然不会被销毁---P92
所有类都是引用类型,引用类型是什么意思??引用是调用的意思吗?--P95
Person zhang = new Person()??--P95
int[][] a;
a = new int[4][];为什么初始化的时候需要一个有数值呢 不能a = new int[][]??--P97
P99
String[][] str1 = new String[][]{new String[3], new String[]{"hello"}};为弄懂为什么在赋值里面还要用new String....而且还使用new String[]{"hello"}.结合哪个4.15图看不懂??
java提供的Arrays类里包含的一些static修饰的方法可以直接操作数组。。为什么要强调static??难道其他的就不可以直接操作数组??
binarySearch(type[] a, type key)为什么调用该方法的时候要求数组中元素已经按升序排序,这样才能得到正确结果??
Array里面都有哪些常用的方法??
接口、匿名内部类??--P101
计算新的数组元素的方式为:{1*3, 3*-4.。。。}看不懂--P102
Arrays类处于java.util包下,必须在程序中导入java.util.Arrays类??java.util.Arrays写的方式是怎么写的??如何导入??为何需要导入?库函数里面没有吗??---P100
throws Exception??--P104
BufferedReader br = new BufferedReader(new InputStreamReader(System.in))???这句话是什么意思?BufferReader??inputStreamReader??System.in??
字符流与位流的区别??什么是字符流?什么是位流??字节流又是什么??--P104
inputStr.split();??--P104
------------------end-----------------------------------------------------------