| 文档版本 | 开发工具 | 测试平台 | 工程名字 | 日期 | 作者 | 备注 |
|---|---|---|---|---|---|---|
| V1.0 | 2016.03.03 | lutianfei | none |
1、File-> New ->Project 选Java Project

2、 命名工程后选择Finish

3、 新建一个包

4、新建一个类

5、 编译
6、运行
根据大纲视窗中的不同图标,判断不同的变量状态。

选中某个类后按F4可以看到=该类的继承状态。

window -> Preferences -> General -> Appearance -> Colors And Fonts -> Java Edit Text Font控制台:
Debug -> Console font
其他文件
Basic -> Text Font
window ->Perspective-> Reset Perspective
Window–Show View—Console
内容辅助键
格式化 ctrl+shift+f
ctrl+shift+octrl+/ctrl+shift+/ctrl+shift+\alt+上/下箭头F3或者Ctrl+鼠标点击)Alt + Shift+s+cAlt + Shift+s+o自动生成get/set方法 : Alt + Shift+s+r
继承抽象类,或者实现接口

package cn.itcast_03;public class Cat extends Animal {@Overridepublic void eat() {// TODO Auto-generated method stubSystem.out.println("Hello Cat");}}
@Overide是注解的意思,即这个方法是重写父类的,如果和父类名字不一致就会报错。项目–右键–Export–Java–Jar–自己指定一个路径和一个名称–Finish





单步调试:F6

断点查看基本数据类型和引用数据类型的参数传递问题
public int hashCode()
public final Class getClass()
返回此 Object 的运行时类
B:可以通过Class类中的一个方法,获取对象的真实类的全名称。
Student s = new Student();Class c = s.getClass();String str = c.getName();System.out.println(str); // cn.itcast_01.Student//链式编程String str2 = s.getClass().getName();System.out.println(str2);
public String toString(): 返回该对象的字符串表示,默认是全路径+@+哈希值的十六进制表示。
toHexString 是Integer类下的一个静态方法:把一个整数转成一个十六进制表示的字符串eg:
//两行代码结果一致System.out.println(s.getClass().getName() + ‘@‘+ Integer.toHexString(s.hashCode()));System.out.println(s.toString());
注:直接输出一个对象的名称,其实就是调用该对象的toString方法。
public boolean equals (Object obj) : 指示其他某个对象是否与此对象“相等”。
protected void finalize(): 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。用于垃圾回收,但是什么时候回收不确定。
protected Object clone():创建并返回此对象的一个副本
Cloneable:此类实现了 Cloneable 接口,以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制。这个接口是标记接口,告诉我们实现该接口的类就可以实现对象的复制了。
public class Student implements Cloneable {private String name;private int age;public Student() {super();}public class StudentDemo {public static void main(String[] args) throws CloneNotSupportedException {//创建学生对象Student s = new Student();s.setName("林青霞");s.setAge(27);//克隆学生对象Object obj = s.clone();Student s2 = (Student)obj;System.out.println("---------");System.out.println(s.getName()+"---"+s.getAge());System.out.println(s2.getName()+"---"+s2.getAge());//以前的做法Student s3 = s;System.out.println(s3.getName()+"---"+s3.getAge());System.out.println("---------");//其实是有区别的s3.setName("刘意");s3.setAge(30);System.out.println(s.getName()+"---"+s.getAge());System.out.println(s2.getName()+"---"+s2.getAge());System.out.println(s3.getName()+"---"+s3.getAge());}}
toString方法的重写
Alt + Shift+s+sequals方法的重写:
Alt + Shift+s+hEg: 重写equals方法:
@Overridepublic boolean equals(Object obj) {//name是String类型的,而String是引用类型的,所以,在这里不能直接用==比较,应该用equals()比较//String的equals()方法是重写自Object类的,比较的是字符串的内容是否相同//this -- s1//obj -- s2//我们要使用的是学生类的特有成员变量,所以要向下转型Student s = (Student)obj; //s -- obj -- s2;if(!(obj instanceof Student)){return false;}//如果是就继续Student s = (Student)obj;//System.out.println("同一个对象,还需要向下转型并比较吗?");return this.name.equals(s.name) && this.age == s.age;}
==的用法:
equals 只能比较引用类型,默认情况下比较的是地址值是否相同,但可以根据需求重写该方法。
instanceof: 判断对象名是否是该类名的一个对象
对象名 instanceof 类名原文:http://www.cnblogs.com/lutianfei/p/5243844.html