| 文档版本 | 开发工具 | 测试平台 | 工程名字 | 日期 | 作者 | 备注 | 
|---|---|---|---|---|---|---|
| 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 {
@Override
public void eat() {
// TODO Auto-generated method stub
System.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方法:
@Override
public 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