java尚学堂300集第一季笔记

上传人:第*** 文档编号:34216238 上传时间:2018-02-22 格式:DOC 页数:20 大小:2.24MB
返回 下载 相关 举报
java尚学堂300集第一季笔记_第1页
第1页 / 共20页
java尚学堂300集第一季笔记_第2页
第2页 / 共20页
java尚学堂300集第一季笔记_第3页
第3页 / 共20页
java尚学堂300集第一季笔记_第4页
第4页 / 共20页
java尚学堂300集第一季笔记_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《java尚学堂300集第一季笔记》由会员分享,可在线阅读,更多相关《java尚学堂300集第一季笔记(20页珍藏版)》请在金锄头文库上搜索。

1、第一季1、总共大约 30 小时。2、连载官网 3、JDK(java 开发工具包)(JRE(java 运行时环境)(JVM(JAVA 虚拟机) )包含关系4、java 开发环境配置(1)下载 JDK(http:/ 官网Downloads JavaJava SEJava Platform(DOWNLOAD)Accept License Agreement计算机(属性 64 位) 下载 Windows x64,(x86 是32 位)(2)安装 JDK:选择默认路径即可,点击下一步。bin 二进制缩写(3)环境变量设置:1)JAVA_HOME:C:Program FilesJavajdk1.7.0_2

2、1 步骤:点击计算机属性高级系统设置高级环境变量找到 JDK 安装的默认路径复制 C:Program FilesJavajdk1.7.0_21新建系统变量 JAVA_HOME,变量值粘贴复制的默认路径2)path(执行 dos 命令,系统会在 path 指定的路径中寻找该命令对应的可执行文件)步骤:找到 bin 文件的默认路径 C:Program FilesJavajdk1.7.0_21bin 将默认路径或“%JAVA_HOME%bin”增加到 path 变量值最前面,用分号 ; 将多个目录用隔开classpath JDK5.0 以上版本,可以不对其进行配置!3)测试是否安装成功:运行cmd输

3、入 java version配置完 java 环境变量后,最好重启运行窗口。重启后新配置的环境变量才能生效。5、在 E 盘新建文件 mycode(用于存放源代码文件),文件名为拼音或英文,如mycode,在 mycode 文件中新建文本文档 Welcome,扩展名改为.java ,类的首字母大写,类名与文件名一样,右键用记事本打开 Welcome,编辑并保存。查看 Welcome 输出:运行cmd输入 e:(进入 E 盘)cd mycode (cd change directory 改变目录)dir(查看 mycode 文件下所有文件和子文件)javac Welcome.java(编译,编译器

4、创建 class 字节码文件)java Welcome(执行)显示扩展名方法:在 mycode 文件夹中,组织文件夹和搜索选项 查看隐藏已知文件类型的扩展名,不打对钩文本编辑器:notepad+,UltraEdit,EditPlus集成开发环境:Eclipse(http:/www.eclipse.org)在记事本中首字母缩进按 Tab 键。6、JAVA 注释/单行注释;/*.*/多行注释;浮点数存在舍入误差,很多数字不能精确表示。如果需要进行不产生舍入误差的精确数字计算,需要使用 BigDecimal 类表示大小数; BigInteger 类表示大整数;7、eclipse 下载:www.ecl

5、ipse.org/downloads/8、包 package:为了解决类之间的重名问题为了便于管理类:合适的类位于合适的包。package 通常是类的第一句非注释性语句。包名:域名倒着写,再加上模块名,并与内部管理类,如:cn.shangxuetang.test写项目时都要加包,不要使用默认包。9、API 文档用来查看所有的 package 以及 class 的用法。10、生成自己项目的 API 文档文档注释:/*,在所要注释的类前注释说明常用的 java 注释标签:Author 作者;version 版本;param 参数;return 返回值的含义;throws抛出异常描述;depreca

6、ted 废弃。建议用户不在使用该方法。步骤:点击 Package Explorer 里的项目名(如 mypro)右键 ExportJavaJavadoc下一步选中要生成 API 文档的项目名改变 Destination 路径finishyes all。找到保存的 API 文档,打开 index.html11、测试 Scanner 类的使用,如何接受键盘的输入import java.util.Scanner:导入 util 包下的 Scanner 类/其他包的类如果要用,必须先导入Scanner s=new Scanner(System.in);String str=s.next();/程序运行

7、到 next 会阻塞,等待键盘的输入!输入字符串int a=s.nextInt();/输入数字12、面向对象编程的本质:以类的方式组织代码,以对象的方式组织(封装)数据。13、构造器用于构造该类的实例;通过 new 关键字调用;构造器虽然有返回值,但是不能定义返回类型(返回值的类型肯定是本类) ,不能在构造器里调用 return;如果我们没有定义构造器,则系统会自动定义一个无参的构造函数。如果已定义则编辑器不会添加;构造器的方法名必须与类名一致;作用:构造该类的对象,经常也用来初始化对象的属性。14、方法的重载是指一个类中可以定义相同的名字,但参数不同的多个方法,调用时,会根据不同的参数表选择

8、对应的方法。两同三不同:同一个类,同一个方法名;参数列表不同(类型、个数、顺序不同)15、static 从属于类的只能使用类的方法,从属于对象的既可以使用类的方法也可以使用对象的方法。static 只能调用 static 方法;非 static 既能调用 static 方法,也能调用非 static 方法。调用:类名.方法名;类名.类属性;16、this 关键字 :普通方法中,this 总是指向调用该方法的对象;构造方法中,this 总是指向正要初始化的对象;this 不能用于 static 方法。this();通过 this 调用其他无参的构造方法,必须位于第一句。17、面向对象的三大特征:

9、继承,封装/隐藏,多态(为了适应需求的多种变化,使代码变得更加通用)Java 中只有单继承(一个类只能有一个直接父类);java 中的多继承,可以通过接口来实现。方法的重写:重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型,但是实现内容不一样。重写方法不能使用比被重写方法更严格的访问权限(由于多态)。重写与重载没关系18、Object 类是所有 Java 类的根基类。如果在累的声明中未使用 extends 关键字指明其基类,则默认基类为 Object 类。Ctrl+t 或 F4 查看某个类的层次结构,ctrl 查看某个类的 API 文档19、super 类是直接父类对象的引用;“i

10、s a”关系实验继承;”has-a”关系使用组合。20、final 关键字 :修饰变量 (变为)常量;该方法不可被子类重写,但是可以被重载;修饰的类不能有子类,不能被继承。比如:Math、String21、封装:可见性private 同一个类;default 同一个包中,同一个类; protected子类,同一个包中,同一个类;public所有类,子类,同一个包中,同一个类封装要点:类的属性的处理:(1) 一般使用 private(除非本属性确定会让子类继承)(2) 提供相应的 get/set 方法来访问相关属性。这些方法通常是 public,从而提供对属性的读取操作。(注意 :boolean

11、 变量的 get 方法是用:is 开头!)(3) 一些只用于本类的辅助性方法可以用 private,希望其他类调用的方法用 public22、多态性:就是程序的最终状态只有在执行过程中才被决定而非在编译期间就决定了。java 中实现多态:引用变量的两种类型编译时类型(模糊一点,一般是一个父类)由声明时的类型决定;运行时类型(运行时,具体是哪个子类就是哪个子类)由实际对应的对象类型决定。多态的存在要有 3 个必要条件:要有继承,要有方法重写,父类引用指向子类对象(如 Animal a=new Cat();Animal b=new Dog();Animal c=new Pig();)。23、抽象类

12、:是一种模版模式。抽象类为所有子类提供了一个通用模板,子类可以在这个模板基础上进行扩展。通过抽象类,可以避免子类设计的随意性。通过抽象类。我们就可以做到严格限制子类的设计,使子类之间更加通用。要点:有抽象方法的类只能定义成抽象类;抽象类不能实例化,即不能用 new 来实例化抽象类;抽象类可以包含属性、方法、构造方法。但是构造方法不能用来 new 实例,只能用来被子类调用;抽象类只能用来继承;抽象方法必须被子类实现。抽象方法的意义在于:将方法的设计和方法的实现分离了。24、接口 interface:接口中只有常量、抽象方法。接口实现implements 。 接口是最抽象的。接口中常量定义时,写或

13、不写前缀都是默认有public static final接口中方法定义时,写或不写前缀都是默认有public abstract注意:接口就是比抽象类还抽象的抽象类,可以更加规范的对子类进行约束。全面地专业地实现了:规范和具体实现的分离。接口就是规范,定义的是一组规则,体现了现实世界中“如果你是则必须能”的思想(如:如果你是天使,则必须飞)。接口的本质是契约,就像我们人间的法律一样。制定好后大家都遵守。项目的具体需求是多变的,我们必须以不变应万变才能从容开发,此处的“不变”就是“规范”,因此,我们开发项目往往都是面向接口编程。某个接口可以支持继承多个接口。(interface A extends

14、 Interface A,Interface B)25、CallBack 回调、Hook 勾子函数26、内部类(innerclasses)一般情况下,我们把类定义成独立的单元。有些情况下,我们把一个类放在另一个类的内部定义,称为内部类。内部类的作用:(1) 内部类提供了更好的封装。只能让外部类直接访问,不允许同一个包中的其他类直接访问。(2) 内部类可以直接访问外部类的私有属性,内部类被当成其外部类的成员。但外部类不能访问内部类的内部属性。内部类的使用场合:由于内部类提供了更好的封装特性,并且可以很方便的访问外部类的属性。所以,通常内部类在只为所在外部类提供服务的情况下优先使用。注意:1) 普

15、通的成员内部类可以访问外部类的普通的属性和方法。2) 普通的成员内部类可以看作外部类的一个普通的属性。普通内部类对象必须寄宿在外部类对象里面。必须先有外部类对象,才能有内部类对象。3) 静态内部类加了 static 修饰以后,静态内部类对象存在,它的外部类对象不一定存在,静态内部类不能访问外部类的普通的属性和方法,但是静态内部类可以直接访问外部类的静态的属性和方法。27、Array 数组:创建数组对象 a = new int4;初始化(对数组元素的初始化)默认初始化:数组元素相当于对象的成员变量,默认值跟成员变量的规则一样(如数字 0,布尔 false)。28、String :不可变字符序列!可变字符序列:StringBuilder(线程不安全,效率高,用的较多),StringBuffer(线程安全,效率低);两个用法一样。29、File类:File f5=new File(e:/mycode/aa/bb/cc/ddd);f5.mkdirs();/不管前面的父目录是否存在,都创建/f5.mkdir();如果前面的父目录存在,就创建,不存在就创建失败30、异常:Computer c=null; c.start();出现 NullPointerException/对象是 null,调用了对象方法或属性不要在 finally 中使用 return执行顺序:执行 try,c

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号