`
chen592969029
  • 浏览: 110212 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Java学习笔记

    博客分类:
  • Java
阅读更多
1. 在Java中字符串不能分开写在两行,如:
String str = "Hello
world";

2. JDK的bin目录中提供了丰富的工具命令,其中有两种经常用到的命令程序是:
javac:Java编译器,将Java源代码转换成字节码
java:java解释器,解释并执行Java应用程序的字节码文件
appletviewer:Applet程序浏览器,用来执行HTML文件上的Java小程序
javadoc:根据Java源码及说明语句生成HTML格式的注释文档,例:javadoc -d TestMethodDoc TestMethod.java
jdb:Java调试器,可以逐行执行程序,设置断点和检查变量
javap:java反汇编器,显示类文件中的可访问功能和数据,同时显示字节代码含义。

3. Java规定,源程序的文件名必须和该文件的公共类的类名完全相同

4. Java中的注释分为三种:
单行注释://注释内容
多行注释:/*
注释内容
*/
文档注释:/**
* @author
* @version
* @param
* @return
* @exception
* @see
* 注释内容
*/

5. 参数名称 作用
-public 仅显示public的类和类的成员
-protected 仅显示protected和public的类和类的成员,该参数是默认的
-package 仅显示package,protected和public的类和类的成员
-private 显示所有的类和类的成员
-d <directory> 输出文件到指定的目录中
-version 将包含@version标记的注释信息加入文档
-author 将包含@author标记的注释信息加入文档
-splitindex 把索引文件按照字母顺序分别对应一个文件
-windowtitle <text> 指定文档显示的浏览器窗口的标题
-header <html-code> 指定输出到HTML文档页眉的文本
-footer <html-code> 指定输出到HTML文档脚注的文本
-bottom <html-code> 指定输出到HTML文档底部的文本

6. Rectangle rec = new Rectangle();
Rectangle对象存放于堆内存中,rec变量存放于栈内存中
从Java管理内存的方式来看,它把内存分为两块,一块是堆内存,一块是栈内存。
其中所有的对象都被放在堆内存中,堆内存可以很大,甚至当内存紧张时硬盘都可以作为堆得存储空间,但是
栈内存是有限的,通常用来存放全局变量,静态变量和对象的引用。

7. 当创建一个类的实例的时候,编译器都需要完成哪些工作?
(1) 为新创建的对象分配内存空间
(2) 初始化对象中实例变量的值
(3) 调用对象的构造函数

8. Person zhangsan = new Person("zhangsan");
Person lisi = new Person("lisi");
创建了两个Person类,这就意味着,每一个对象都将拥有自己的存储空间,并且各个对象的成员变量在各自的内存中都有一份副本,但这两个对象中所调用的类的成员方法在内存中只有一份副本。

9. super()只能在子类的构造函数中出现,并且永远都是出现在子类构造函数的第一条语句
super关键字除了可以用来调用父类的构造函数之外,还起到了访问父类被子类隐藏的变量或覆盖的方法的作用。

10. 在继承过程中,Java会让子类的构造函数自动地调用父类的构造函数,并且这种构造行为是从父类向外发展的,所以父类会在子类的构造函数访问它之前进行初始化。
如果子类构造函数中没有使用super()调用父类的构造函数,而父类中又没有无参数的构造方法,能把么编译肯定出错。

11. 为了能够保持封装性,最好的做法就是:将数据成员设成private的,这样就可以永远保留对类内部数据成员的访问权限;
同时将方法设成protected的,从而把对方法的控制访问权限留给继承类。

12. 在类的继承中,如果子类有和父类同类型以及同名的成员变量,则子类此时拥有两个名字相同的变量,一个继承自父类,另一个由子类定义。
当子类的对象产生时,同名的变量被各自分配不同的空间,互不干扰。Java中把这种行为称为“域的隐藏”。这一点和方法的f覆盖不太相同,
因为父类的方法被覆盖时,该方法在子类对象中就不复存在,子类对象中只能保留自身定义的方法。而父类的成员变量在子类中只是被隐藏,它
在子类对象中仍占有自己独立的内存空间。

13. 类变量是在类被夹在的时候开始有效,直到程序结束,它不用考虑是否产生了类的实例对象,而且在整个生命周期中,类的所有实例对象将共
享这个变量。
实例变量只有当对象实例被创建的时候才被创建并有效。一旦对象称为垃圾,实例变量也就随之变为不可用了。
局部变量只在方法体内有效。

14. 在涉及继承关系的时候,会遇到static成员初始化顺序的问题,一般来说,都是先初始化父类的static成员,然后是子类的。

15. 内部类的成员是不能声明为static的,否则程序无法编译。如果一个内部类被声明为静态的,则它和普通的类没有任何区别。

16. 在方法体中定义的内部类只能访问方法中final类型的局部变量。

17. 内部类和普通类一样也可以继承外部类,作为子类,它可以访问父类的所有可继承的成员。同样内部类也可以继承同一层次的其他内部类,并作
为子类访问父类中所有可继承的成员。

18. 抽象类不能被实例化
抽象类不能定义构造函数
抽象方法只需声明,而无需实现;含有抽象方法的类必须被声明为抽象类
抽象类的子类必须实现抽象类中所有的抽象方法,否则,这个子类也是抽象类
含有抽象方法的类一定是抽象类,但是抽象类中的某个方法可以不是抽象的

19. 可以创建一个不包含abstract方法的abstract类,用于“不必创建abstract的方法,但是又要禁止别人创建这个类的对象”的场合。

20. 接口中所有的方法都是抽象方法。接口中叶可以声明变量,但是他们默认都是final和static的,即全局静态变量。这意味着他们不能由实现类来
改变,而且这种变量一旦定义就必须初始化。

21. 可以仅实现接口中的部分方法,这种局部实现可以创建一个新的抽象类,此时要记得类的前面必须加关键字abstract。
可以通过继承一个已有的接口,可以创建一个新的接口。
当实现多个接口或者继承多个接口的时候,如果两个接口中的方法虽然同名,但是类型不同或者参数列表不同,就会遇到一些问题,我们把这类
问题称为“合并接口是的同名冲突问题”。

22. 如果父类和子类之间存在的关系是“is a”时,通常将父类定义为抽象类,如果是“like a”关系时,通常将父类定义为接口。
如果父类的设计中可以不包括具体方法和成员变量的定义,那么可以优先考虑使用接口。如果不得不定义具体方法和成员变量的情况下,才考虑
使用抽象类来定义。

23. 被声明为final的变量必须初始化,初始化位置有两个:一个是在其声明处,一个是在构造函数中。
被声明为final的方法在子类中不能被覆盖。
被声明为final的类不能被继承,其中的方法都成为final的。

24. 方法中的参数定义为final时,对于基本类型的变量来说,没什么意义,对于引用类型的变量来说,因为传递的事对象的引用,所以在方法中对
对象变量的修改也会影响到调用语句中的对象变量,所以在方法中不需要改变作为参数的对象变量时可以明确使用final关键字来进行声明。
分享到:
评论

相关推荐

    Java 学习笔记Java学习笔记

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。...Java学习笔记涵盖了这些核心知识点,通过深入学习和实践,你可以逐步掌握Java编程,并应用于实际项目开发中。

    Java学习笔记——良葛格

    "Java学习笔记——良葛格"是一份专为初学者设计的教程资料,由良葛格精心编写,旨在帮助读者掌握JDK5.0版本的Java基础知识。JDK(Java Development Kit)是Java开发的核心工具集,包含了编译器、调试器和运行环境等...

    java学习笔记1

    Java学习笔记1 Java学习笔记1是学习Java过程中的笔记,主要记录了Eclipse开发环境中的快捷键使用、编辑功能、查找和调试等知识点。 Eclipse快捷键 Eclipse中有许多快捷键,掌握这些快捷键可以大大提高开发效率。...

    (完整版)最全的java学习笔记(必看).pdf

    Java学习笔记 Java是一种流行的编程语言,广泛应用于Android应用程序开发、Web应用程序开发、桌面应用程序开发等领域。以下是Java学习笔记的摘要信息: 一、Java技术基础 * 1.1 编程语言:Java是一种面向对象的...

    JAVA学习笔记 林信良

    《JAVA学习笔记》是林信良先生的一部深入浅出的Java编程教程,旨在帮助初学者和有一定经验的开发者巩固和提升Java编程技能。这本书涵盖了Java语言的基础到高级概念,是一份宝贵的自学资料。 首先,从基础部分开始,...

    韩顺平编写的java学习笔记(全)

    ### 韩顺平编写的Java学习笔记概览 #### Java平台分类与运行机制 - **J2SE(Java 2 Platform, Standard Edition)**: 标准版Java开发平台,适用于桌面应用程序开发。 - **J2EE(Java 2 Platform, Enterprise ...

    Java学习笔记学习笔记

    Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习...

    Java学习笔记(必看经典).pdf

    本知识点的标题为“Java学习笔记(必看经典)”,意味着所整理的内容是针对Java初学者的一系列核心概念和原理的总结。 首先,面向对象编程是Java语言的核心,它与传统的面向过程编程有显著的不同。面向对象编程强调的...

    java学习笔记(全)

    Java学习笔记全集是针对Java编程语言的一份详尽的学习资料,它涵盖了从基础到进阶的各个层面,旨在帮助初学者系统地学习Java,并为有一定经验的开发者提供复习和巩固知识的平台。这份笔记主要关注Java语言的核心概念...

    Java学习笔记(必看经典).doc

    这份“Java学习笔记(必看经典).doc”文档将涵盖Java的核心概念和重要知识点,对于初学者和有经验的开发者来说都是宝贵的参考资料。 首先,Java的基础部分通常包括以下几个方面: 1. **Java语法基础**:这是所有...

    java学习笔记.zip

    java学习笔记java学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记...

    《Java学习笔记》

    这份《Java学习笔记》包含了丰富的知识内容,旨在帮助学习者全面掌握Java编程技术。笔记分为7个PDF部分,覆盖了从基础到高级的Java编程概念。 1. **Java基础知识**:这部分内容通常包括Java的历史背景、环境配置、...

    java学习笔记.pdf

    "Java学习笔记" 本资源是一个关于Java编程语言的学习笔记,涵盖了Java的基础知识、语法、数据类型、变量、类型转换等方面的内容。 标题:"java学习笔记.pdf" 描述:"想自学的小伙伴可以看俺" 标签:"Java" 部分...

    瑜琅java学习笔记

    ### 瑜琅Java学习笔记概览 瑜琅的Java学习笔记涵盖了Java的基础概念与核心特性,从起源到高级特性均有涉及。以下是对该学习笔记各部分的深入解析: #### 1. Java起源 ##### 1.1 发展背景 - Java的诞生源于Sun ...

    java学习笔记.doc

    Java 学习笔记 本资源摘要信息涵盖了 Java 编程语言的基础知识,着重于面向对象编程(OOP)的概念和实现。下面是该资源的详细知识点: 1. 面向对象编程(OOP)的基本概念: * 对象: everything is an object...

    Java学习笔记及心得

    ### Java学习笔记及心得知识点详细解析 #### 标题:Java学习笔记及心得 #### 描述:Core Java 学习笔记及心得 pdf格式可打开。涵盖了java的基础入门知识,非常适合自学的及想深入学习理解的同学。 #### 标签:...

    Java学习笔记PPT

    这份"Java学习笔记PPT"是针对Java2版本的学习资源,旨在帮助初学者或有一定基础的开发者深入理解Java的核心概念和应用。 在Java学习的初期,掌握基本语法是至关重要的。Java的语法与C++有诸多相似之处,但更加强调...

    Java学习笔记.pdf

    Java学习笔记.pdf Java 是一种广泛应用的编程语言,它的开发环境、语言特点、基础语法等方面的知识是初学者必须掌握的。本资源提供了一个系统的 Java 学习笔记,涵盖了 Java 基础、面向对象、Java SE 核心等方面的...

Global site tag (gtag.js) - Google Analytics