《java入门》由会员分享,可在线阅读,更多相关《java入门(10页珍藏版)》请在金锄头文库上搜索。
1、入门级入门级概述:一一Java 语言特点:语言特点:一处编译,到处运行 Java 是一门高级的纯面向对象的编程语言 Java 的方向可以分为三大块。分别为:JavaME,JavaSE,JavaEE。 JavaME 涉及移动平台,所谓移动平台,是指移动的小型设备,比如:手机、机顶盒等等。 所以此方面会涉及到嵌入式的开发,手机游戏和安卓的开发。 JavaSE 即 Java 开发的标准应用。粗略的说,是用来开发桌面应用程序的。比如:游戏,或 是基于 Java 的浏览器等等,用 JavaSE 开发应用程序,若不涉及底层,则挺好的,若涉及底 层就有些力不从心了。 JavaEE 即 Java 开发的企业级
2、应用。这是 Java 的绝对的优势所在。粗略的说,就是用来开 发网站的。虽然企业级应用也属于网站,但对专业的技能要求更高,对数据的安全,程序 的安全要求更高,此方面涉及很多的概念,技术,并且还在不断变化中。 总的来说,三个方向所用到的类库不同。SE 所用的是标准的类库,ME 是核心的一些少量 类库,EE 则是用扩张的类库重点难点:面向对象编程思想 I/O 操作 (类多)搞清设计方式 多线程操作 每次运行结果不同 设计模式 java 中的公式二环境搭建:1下载、安装 JDK JDK(Java Development Kits) 开发工具集 JRE java 运行时环境 Java compiler
3、 :javac.exeJava 解释器:java.exe Java 文档化工具:javadoc.exe2.设置环境变量-系统变量PATH:用于指定操作系统的可执行指令的路径(如 notepad calc) CLASSPATH:Java 虚拟机在运行某个类时会按 classpath 指定的目录顺序去查找这个类 将编译器,解释器的路径放入系统变量 PATH 中,就能在 dos 中直接运行 即将 jdk 的 bin 的绝对路径. 计算机-属性-高级-环境变量-系统变量 将编译器,解释器的路径放入系统变量 PATH 中,就能在 dos 中直接运行 即将 jdk 的 bin 的绝对路径添加到 path
4、中 然后新建一个 classpath 变量 ,值为 . 即当前路径第一个 java 程序 public class Demo public static void main(String args) /程序入口,由 java 虚拟机调用 System.out.println(“hello javas world”); java 程序是以类为单位的,程序入口也是类的方法。三数据类型三数据类型基本数据类型: Datatype 字节数 boolean 1 (只有 true false 两个值,while()里不能用 1 或其他整数代表 true,不能用 0 表示 false) byte 1char
5、2 (unicode 编码 所以是两个字节) short 2 int 4 long 8 float 4 double 8说明: 1.Java 中没有 C 中的全局变量 2.Java 中变量类型的大小是确定的,而 C 中的类型大小跟平台相关引用数据类型:(引用对象,就是名字挂在栈内存,实体在堆内存的对象) 数组 类基本数据类型保存在栈内存中 引用数据类型保存在堆内存中(一般由 new 创建)四语句(与四语句(与 C 语言相通)语言相通)分支、循环、选择五方法(函数)五方法(函数)静态与非静态 静态的属于类,不属于某个对象, class Cls1 public void method_1() pu
6、blic static void method_2() public static void main() Cls1 cls = new Cls1(); cls.method_(); /非静态方法只能有所属对象调用 method_2(); /静态类若在所属类内调用 Cls1.method_2(); /静态类若在其他类中调用,即用类名调用 方法的重载: 满足条件 1.发生在同一个类中 2.方法名相通 3.参数列表不同六静态六静态1.静态的成员在类的加载而加载,也随着类消亡而消亡,所以声明周期最长。 2.静态方法中不能调用其他非静态成员,非静态方法可以调用静态成员,因为 在没有创建对象时静态成员就
7、已经加载,而非静态成员在创建对象时才存在。 3.方法中不能定义静态变量。 4.静态代码段 static / 在构造方法前执行,并且只执行一次七习惯命名规则七习惯命名规则 1.类名的首字母要大写,由多个单词组成每个单词首字母都大写2.方法名首个小写,若后面还跟着单词,后面单词首字母要大写(驼峰式)八内存八内存 栈内存栈内存 存储基本数据类型存储基本数据类型 堆内存堆内存 存储存储 new 出来的对象出来的对象 方法区方法区 存储方法、存储方法、static 变量变量九九package公司域名倒着写 com.sina.xxx这里.表示目录中的,即 comsinaxxx package com.si
8、na.xxx;1.如果想将类放入包中,在类源文件最前添加 package 2.必须保证该类的 class 文件位于正确目录下(包对应的目录) comsinaxxxClassName.class 3.另外的类向访问包中的类方法写全名 com.sina.xxx.ClassName引入 import com.sina.xxx.ClassName(*)访问位于同一个包中的类不需要引入 4.必须 class 文件的最上层包的父目录位于 classpath 下 5.执行 class 也要写全包名 java com.sina.xxx.ClassNameJar 包 rt.jar java.lang 核心类如
9、String、System、Thread 该包中的类不需要引入 java.awt 包含了构成抽象窗口工具集的多个类 网络相关 java.io 输入输出流 java.util 实用工具类打包打包 jar -cvf name.jar(生成的包)生成的包) *.*(要加入(要加入 jar 包的内容)包的内容) 将打包后的将打包后的 jar 文件的绝对路径加入到文件的绝对路径加入到 classpath 中中十十Object 类类 Java 的所有类的父类,标准库以及自定义的类都直接或间接继承与 Object 类 (上帝类) 。 Object 类中的方法是通用方法,所有子类都可以用,也可以重写,介绍几
10、个: int hashCode() /获取对象哈希值(类似地址) 注意,字符串对象若内容相同,返回的哈希值相同,但判断是否为同一对 象还要用 equals 判断。 (注意 String 类重写的 equals 方法,用来比较字符串内 容是否相同) String toString() /getClass().getName() + + Integer.toHexString(hashCode() boolean equals(Object obj) /比较两个对象地址,判断是否为同一对象一个一个.java 文件中可以有很多类。不过注意以下几点文件中可以有很多类。不过注意以下几点: 1.publi
11、c 权限的类只能有一个(也可以一个都没有,但最多只有 1 个) 2.这个.java 文件的文件名必须是 public 类的类名(一般的情况下,这里 放置 main 方法是程序的入口。) 3.若这个文件中没有 public 的类,则文件名随便是一个类的名字即可 4.你用 Javac 编译这个.java 文件的时候,它会给每一个类生成一 个.class 文件。进阶级进阶级面向对象,内存贯穿始终一 对象与类与引用ClassName s = new ClassName();s: 是对象的引用,内容是所指向对象那个的地址,存储在栈内存中。new ClassName():是一个对象实体,存储在堆内存中。二
12、 构造方法new 对象时首先调用的1.自定义的类若没有定义构造方法,创建对象时会自动调用一个空的构造方法。2.若标准库中的类没有构造方法,或构造方法被private 修饰,则不能直接创建对象,一般会有静态的方法返回对象。 (单例设计模式)三访问权限关键字 private /public/(default)/protected1 类的访问权限一般类(外部类)只有 public 和 (default)内部类可以是 public、 (default) 、private2.private 修饰的成员只能在本类方法中调用,子类或其他类都不能直接调用其他看图三 final 关键字1.final 变量的值不
13、能被改变final 方法不能被重写final 类不能被继承2方法中使用 final 修饰的局部变量存储在堆空间,不是栈空间。四 继承 extends1.重写 override 表识可以自动检查重写方法重写规则(1).必须是在继承里(2).方法名,返回类型,参数列表相同(3).子类重写的方法权限不能低于基类的权限(4).子类抛出的异常应该和基类相同或更少,父类没抛异常子类不能抛,要马上处理注意:子类变量与父类同名,是两个不同的变量,可用 super 关键字访问。2.super this 关键字super 代表父类的指针this 代表本类的指针3.子类构造方法中会先隐式调用父类无参构造,若父类没有
14、无参构造,要显示调用父类构造,super(参数列表);4.父类的 private 成员不能在子类中直接调用。5.只能单继承,即一个类只能继承一个父类五 抽象类与接口1. 抽象类 abstract class ClassName不能 new 对象,要用一个类继承才能创建对象。抽象方法一定在抽象类中继承抽象类的类必须重写全部抽象方法2. 接口 interface IntName(类似于抽象类)需要一个类实现 implements实现接口的类要重写全部方法接口类默认是 public ,成员变量默认是 public static final 避免了多个接口有相同的变量。接口特性(1).接口可以多重实现 (弥补多继承)(2).接口中声明的属性默认为 public static final,也只能是 public static final.(3).接口中只能定义抽象方法,而这些方法默认是 public 的,也只能是 public 的(4).接口可以继承其他的接口,并添加新的属性和抽象方法。(5).多个无关类可以实现同一个接口(6).一个类可以实现多个无关方法7.与继承关系类似,就扣与实现类之间存在多态性(相当于存在继承关系)(8).接口间可以实现多继承!但不要有同名方法3.接口与继承区别:接口用于拓展功能,不限制于领域继承用于一个体系,被继承类包含一些基本共性功能