CoreJava学习笔记:面向对象与类型系统解析

需积分: 0 1 下载量 158 浏览量 更新于2024-07-30 收藏 273KB PDF 举报
"CoreJava核心笔记,包括21天的学习内容,由讲师刘苍松于2011年8月8日至8月22日授课,适用于Java基础学习者。" 在CoreJava的学习中,主要涉及以下几个关键知识点: 1. 面向对象编程(OO) - 对象:在编程中,对象是对现实世界中具体事物的抽象,它包含了数据(属性)和操作这些数据的行为(方法)。 - 面向对象的思考:关注的是对象之间的关系和交互,而不是孤立的代码。 - OOA(面向对象分析)和OOD(面向对象设计):分别指在软件开发过程中对问题域的分析和设计方案的制定。 2. 类、引用和对象 - 类:类是对象的模板,定义了对象的属性(如:书号、书名、作者、价格)和行为(如:借阅、归还)。 - 引用:在Java中,变量可以指向一个对象,这个变量就称为引用,它存储的是对象在内存中的地址。 - 对象:在堆内存中创建,每个对象都有其特定的属性和方法。 3. Java类型、引用变量与堆对象 - 栈与堆:栈内存用于存储局部变量,按LIFO原则分配;堆内存用于存储对象,分配方式相对灵活。 - 变量类型:包括基本类型(如int、double)和引用类型(如对象引用)。基本类型变量存储实际值,引用类型变量存储对象地址。 - 对象初始化:对象的属性在创建时会自动初始化为默认值,如int为0,引用为null。 4. 属性与方法 - 对象的属性:表示对象的状态,如点类中的坐标属性。 - 对象的方法:定义对象的行为,如点类中的移动方法。 5. 多态与封装 - 多态:同一种行为在不同对象上表现可能不同,例如,"打"一盏灯可以理解为开关灯,对不同类型的灯有不同的效果。 - 封装:隐藏对象的内部实现细节,只对外提供公共接口进行交互,提高代码的安全性和可维护性。 6. 继承 - 继承:允许一个类(子类)继承另一个类(父类)的属性和方法,实现代码复用和扩展。 案例:定义一个Point类,表示平面坐标系中的点,属性包括两个int类型的坐标。可以通过这个类来创建点对象,并进行坐标相关的操作,如移动点的位置。在编程实践中,可能会定义更多的方法,如计算两点之间的距离,或者实现其他图形类,如线段、矩形等,这些都是基于面向对象编程思想的体现。
2011-02-04 上传
JAVAC的帮助,输入[sd0807@localhost ~]$ javac 编译:javac ***.java 用法: javac 用法:javac 其中,可能的选项包括: -g 生成所有调试信息 -g:none 不生成任何调试信息 -g:{lines,vars,source} 只生成某些调试信息 -nowarn 不生成任何警告 -verbose 输出有关编译器正在执行的操作的消息 -deprecation 输出使用已过时的 API 的源位置 -classpath 指定查找用户类文件和注释处理程序的位置 -cp 同上(是 classpath 的缩写) -sourcepath 指定查找输入源文件的位置 -bootclasspath 覆盖引导类文件的位置 -extdirs 覆盖安装的扩展目录的位置 -endorseddirs 覆盖签名的标准路径的位置 -proc:{none,only} 控制是否执行注释处理和/或编译。 -processor [,,...] 要运行的注释处理程序的名称;绕过默认的搜索进程 -processorpath 指定查找注释处理程序的位置 -d 指定存放生成的类文件的位置 -s 指定存放生成的源文件的位置 -implicit:{none,class} 指定是否为隐式引用文件生成类文件 -encoding 指定源文件使用的字符编码 -source 提供与指定版本的源兼容性 -target 生成特定 VM 版本的类文件 -version 版本信息 -help 输出标准选项的提要 -Akey[=value] 传递给注释处理程序的选项 -X 输出非标准选项的提要 -J 直接将 传递给运行时系统 输入[sd0807@localhost ~]$ java 运行(虚拟机): java *** Usage: java [-options] class [args...] (to execute a class) or java [-options] -jar jarfile [args...] (to execute a jar file) where options include: -d32 use a 32-bit data model if available -d64 use a 64-bit data model if available -client to select the "client" VM -server to select the "server" VM -hotspot is a synonym for the "client" VM [deprecated] The default VM is client. -cp -classpath A : separated list of directories, JAR archives, and ZIP archives to search for class files. -D= set a system property -verbose[:class|gc|jni] enable verbose output -version print product version and exit -version: require the specified version to run -showversion print product version and continue -jre-restrict-search | -jre-no-restrict-search include/exclude user private JREs in the version search -? -help print this help message -X print help on non-standard options -ea[:...|:] -enableassertions[:...|:] enable assertions -da[:...|:] -disableassertions[:...|:] disable assertions -esa | -enablesystemassertions enable system assertions -dsa | -disablesystemassertions disable system assertions -agentlib:[=] load native agent library , e.g. -agentlib:hprof see also, -agentlib:jdwp=help and -agentlib:hprof=help -agentpath:[=] load native agent library by full pathname -javaagent:[=] load Java programming language agent, see java.lang.instrument -splash: show splash screen with specified image