java初级教程学习笔记

上传人:xiao****1972 文档编号:84822263 上传时间:2019-03-05 格式:DOCX 页数:13 大小:162.74KB
返回 下载 相关 举报
java初级教程学习笔记_第1页
第1页 / 共13页
java初级教程学习笔记_第2页
第2页 / 共13页
java初级教程学习笔记_第3页
第3页 / 共13页
java初级教程学习笔记_第4页
第4页 / 共13页
java初级教程学习笔记_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《java初级教程学习笔记》由会员分享,可在线阅读,更多相关《java初级教程学习笔记(13页珍藏版)》请在金锄头文库上搜索。

1、Java 编程学习笔记一 Java基础编写第一个java代码 helloworldpublic class HelloWorldApppublic static void main (String args)System.out.println(“hello, world!”);编译: javac HelloWorldApp.java执行: java HelloWorldApp虚拟机JVM虚拟机的作用:1. 通过ClassLoader寻找和装载.class文件2. 解释字节码成为指令并执行,提供class文件运行的环境3. 进行运行期间垃圾回收4. 提供与硬件交互的平台虚拟机是Java平台无关

2、的保障:常用包java.lang - 包含一些java语言的核心类,包含构成java语言设计基础的类。在此包中定义的最重要的类就是Object类。java编译器默认为所有的java程序引入JDK的java.lang包中的所有类(import java.lang.*;),因此我们可以直接使用而不用显示的引入。java.awt - 包含了构成抽象窗口工具集的多个类,这些类被用来构建和管理应用程序的图形用户界面java.iojava.util包的声明:package pkg1.pkg2.pkg3;每个源文件只能声明一个包, 且包名必须小写。编译和生成包:如: 在源文件Test.java中声明包: p

3、11. 直接编译javac test.java则编译器会在当前目录下生成Test.class文件,再创建一个p1文件夹,将Test.class复制到p1下;2. 带包编译javac d . Test.java编译器会自动在当前目录下创建一个子目录p1,将生成的.class使用包import package1;import package2;Java类和对象类和对象构造方法1. 必须与类同名;2. 方法没有返回类型;3. 一般用public修饰,以便于在程序的任意位置创建类的实例-对象。析构方法1. protected 类型的 finalize 方法;2. 释放无用对象所占用的内存;this关键

4、字关键字this是用来指向当前对象或者类实例的。如:public class MyDateprivate int day, month, year;public void tomorrow()this.day = day + 1;等同于:public class MyDateprivate int day, month, year;public void tomorrow()day = day + 1;区分同名变量在类属性上定义的变量和类方法中定义的变量一样的时候决定到底该调用哪个public class Testint I = 2;public void t()int I = 3;Syste

5、m.out.println(“实例变量i=”+this.i);System.out.println(“方法内部的变量i=”+i);作为方法名来初始化对象也就是相当于调用本类的其他构造方法,它必须作为构造方法的第一句。如下:public class Testpublic Test()this(3);/在这里调用本类的另外的构造方法public Test(int a)public static void main(String vargs)Test t = new Test();引用类型在java中除去基本数据类型之外的所有类型都是引用类型。在java程序运行时,会为引用类型分配一定的存储空间并解

6、释该存储空间的内容。如:MyDate today = new MyDate(23, 7, 2008); /这个today就是一个引用类型的变量注: String 类型定义的变量都是引用类型的变量按值传递和按引用传递1. 按值传递指的是在方法调用时传递的参数是按值的拷贝,如:public class TempTestprivate void test1(int a)/传递的是形参/do somethinga+;public static void main(String vargs)TempTest t = new TempTest();int a = 3;t.test1(a);/传递的是实参S

7、ystem.out.println(“main方法中的a=” + a);按值传递的重要特点:传递的是值的拷贝,也就是说传递后就互不相关了。所以:main方法中的a=3test1方法中的a=4注: 形参的改变不影响实参2. 按引用传递指的是在方法调用时,传递的参数是按引用进行传递,其实传递的是引用的地址,也就是变量所对应的内存控件的地址。public class TempTestprivate void test(A a)a. age = 20;System.out.println(“test1方法中的age=”+a.age);public static void main(String var

8、gs)TempTest1 t = new TempTest1();A a = new A();a. age = 10;t.test1(a);System.out.println(“main方法中的age=”+a.age);class A public int age = 0;传递的是值的引用,也就是说传递前和传递后都指向同一个引用(也就是同一个内存空间)。结果:test1方法中的age=20main方法中的age=20注: 在java中只有基本类型和按照下面定义方式的String是按值传递的,其他的都是按引用来传递的。就是直接使用双引号定义字符串的形式:String str = “Java 快

9、车”;Java 高级类特性封装继承 extends父子类的初始化顺序:初始化子类必先初始化父类构造方法不能被继承关键字super功能:1. 点取父类中被子类隐藏了的数据成员;2. 点取已经覆盖了的方法;3. 作为方法名表示父类的构造方法。-点取父类中被子类隐藏了的数据成员或方法:public class Employeeprivate String name;private int salary;public String getDetails()return “Name: ” + name + “nSalary: ” + salary;public class Manager extends

10、 Employeeprivate String department;public String getDetails()return super.getDetails()/ 调用父类中的getDetails()方法+ “nDepartment: ” + department;- 调用父类构造方法不论是super还是this ,都必须放在构造方法的第一行。方法的覆盖和重载覆盖:需要父子类的方法具有相同的返回类型,相同的名称,相同的参数列表。new谁就调用谁的方法。重载:在同一个类中,如果出现了方法名称相同,而参数列表不同的情况就叫做重载。参数列表不同的情况:个数不同,类型不同,顺序不同多态修饰

11、符staticstatic修饰符能够与属性、方法和内部类一起使用,表示是“静态”的。类中的静态变量和静态方法能够和“类名”一起使用,而不需要再创建一个类对象来访问类的静态成员。所以static修饰的变量又称为“类变量”。如:static的基本规则:1. 一个类的静态方法只能访问静态属性;2. 一个类的静态方法不能直接调用非静态方法;3. 静态方法中不存在当前对象,因此不能使用this和super4. 静态方法不能被非静态方法覆盖;5. 构造方法不允许声明为static的;6. 局部变量不能使用static修饰。final在java中声明类、属性和方法时,可以使用final来修饰。final修饰

12、的成分具有“终态”的特征,表示最终的。1. final标记的类不能被继承;2. final标记的方法不能被子类重写;3. final标记的变量(成员变量或局部变量)即为常量,只能赋值一次;4. final标记的成员变量必须在声明的时候赋值,如果在声明的时候没有被赋值那么只有一次被赋值的机会,就是在构造函数里显示赋值,然后才能使用;5. final标记的局部变量可以只声明不赋值,然后再进行一次性的赋值;6. final一般用于标记那些通用性的功能、实现方式或取值不能被随意改变的成分,以避免被误用。如: =3.141593String的内存分配String是一个特殊的包装类数据,可以用两种方法来创

13、建:String str = new String(“abc”);/存放在堆中,每调用一次就会创建一个对象String str = “abc”;/先创建一个String类的对象的引用,然后查找栈中有没有存放”abc”,如果有就直接令str指向”abc”,如果没有,就将”abc”放入栈中。常见类的使用Object类Object类定义许多有用的方法,包括toString(),它就是为什么每样东西都能转换成String类型的原因。1. equals 方法等价比较,比较两个数据的值是否相等。equals 与 “=” 的关系:1. 当比较的是数据类型时,二者一样,都是比较两个数据的值是否相等;2. 当比

14、较的是引用类型时,equals比较的是两个数据的类型(都是引用类型即可)及值是否相等,”=” 比较的是两个数据的类型(数据类型必须一致)及值;3. equals只能比较引用类型,而”=”可以比较引用类型及基本数据类型。2. String类String color = “blue”;color 是String类型的引用, “blue”是String直接量。String直接量是存放在栈中的,所以一旦定义,值就不允许被改变了。如果采用new的方法定义String,那么是需要分配到堆里的。String str = new String(“abc”);一共有两个对象,在堆和栈中各有一个,内容都是 “abc”常用方法:1. 得到字符串的长度public int len

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

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