java基础11 Object

11.01_Java开发工具(常见开发工具介绍)(了解)

  • A:操作系统自带的记事本软件
  • B:高级记事本软件
  • C:集成开发环境 IDE
    • (Integrated Development Environment)
  • D:Eclipse和MyEclipse的区别
    • a:Eclipse是一种可扩展的开放源代码的IDE。
    • b:Eclipse的特点描述
      • 免费
      • 纯Java语言编写
      • 免安装
      • 扩展性强
    • c:MyEclipse
      • 在Eclipse基础上追加的功能性插件,对插件收费
      • 在WEB开发中提供强大的系统架构平台
  • E:下载 http://eclipse.org/
    • org是非盈利团体
  • F:安装
    • 绿色版 解压就可以使用(Eclipse)
    • 安装版 双击运行,一路next即可(JDK)
  • G:卸载
    • 绿色版 直接删除文件夹即可
    • 安装版 专业卸载软件或者控制面板添加删除程序

11.02_Java开发工具(Eclipse中HelloWorld案例以及汉化)(了解)

  • A:选择工作空间
    • 工作空间 其实就是我们写的源代码所在的目录
  • B:用Eclipse来完成一个HelloWorld案例
    • 代码以项目为基本单位
    • 创建项目
    • 创建包
    • 创建类
    • 编写代码
  • C:编译和运行
  • D:Eclipse的汉化
    • 从Eclipse3.5开始,安装目录下就多了一个dropins目录,只要将插件解压后放到到该目录即可。
    • 同理,这种方式卸载插件也是特别的方便,推荐这种方式
  • E:语法检查提示
    • 红色波浪线
      • 必须处理,否则编译通不过
    • 黄色波浪线
      • 可以不搭理他

11.03_Java开发工具(Eclipse的视窗和视图概述)(了解)

  • A:视窗 每一个基本的窗体被称为视窗
    • PackageExplorer 显示项目结构,包,类,及资源
    • Outline 显示类的结构,方便查找,识别,修改
    • Console 程序运行的结果在该窗口显示
    • Hierarchy 显示Java继承层次结构,选中类后F4
  • B:视图 是由某些视窗的组合而成的
    • Java视图
    • Debug视图

11.04_Java开发工具(Eclipse工作空间的基本配置)(掌握)

  • A:程序的编译和运行的环境配置(一般不改)
    • window -- Preferences -- Java
    • 编译环境:Compiler 默认选中的就是最高版本。
    • 运行环境:Installed JREs 默认会找你安装的那个JDK。建议配置了Java的环境变量。
    • 问题:
      • 低编译,高运行。可以。
      • 高编译,低运行。不可以。
      • 建议,编译和运行的版本一致。
  • B:如何去掉默认注释?
    • window -- Preferences -- Java -- Code Style -- Code Templates
    • 选择你不想要的内容,通过右边Edit编辑。
    • 注意:请只删除注释部分,不是注释部分的不要删除。
  • C:行号的显示和隐藏
    • 显示:在代码区域的最左边的空白区域,右键 -- Show Line Numbers即可。
    • 隐藏:把上面的动作再做一次。
  • D:字体大小及颜色
    • a:Java代码区域的字体大小和颜色:
      • window -- Preferences -- General -- Appearance -- Colors And Fonts --Java修改 -- Java Edit Text Font
    • b:控制台
      • window -- Preferences -- General -- Appearance -- Colors And Fonts -- Debug -- Console font
    • c:其他文件
      • window -- Preferences -- General -- Appearance -- Colors And Fonts -- Basic -- Text Font
  • E:窗体给弄乱了,怎么办?
    • window -- Reset Perspective
  • F:控制台找不到了,怎么办?
    • Window--Show View—Console
  • G:取消悬浮提示
    • window -- Preferences -- Java--Editor--Hovers。右边将Combined Hover勾去掉。
    • 这样代码的悬浮框就不会自动出现了。如果想看提示,将光标悬浮在代码上,按F2即可。

11.05_Java开发工具(Eclipse中内容辅助键的使用)(掌握)

  • A:Alt+/ 起提示作用
  • B:main+alt+/,syso+alt+/,给出其他提示
  • C:补充输出语句,选中需要输出的部分,alt+/选择最后一项即可
  • C:定义自己的alt + /
    • windows--perference-Java-Editor-Templates--New

11.06_Java开发工具(Eclipse中快捷键的使用)(掌握)

  • A:新建 ctrl + n
  • B:格式化 ctrl+shift+f
  • C:导入包 ctrl+shift+o
  • D:注释 ctrl+/,ctrl+shift+/,ctrl+shift+\
  • E:代码上下移动 选中代码alt+上/下箭头
  • F:查看源码 选中类名(F3或者Ctrl+鼠标点击)
  • G:查找具体的类 ctrl + shift + t
  • H:查找具体类的具体方法 ctrl + o
  • I:给建议 ctrl+1,根据右边生成左边的数据类型,生成方法
  • J:删除代码 ctrl + d
  • K:抽取方法alt + shift + m
  • L:改名alt + shift + r

11.07_Java开发工具(Eclipse中如何提高开发效率)(掌握)

  • alt + shift + s
  • A:自动生成构造方法
  • B:自动生成get/set方法

11.08_Java开发工具(Eclipse中一个标准学生类及其测试)(掌握)

  • A:案例演示
    • 用Eclipse实现标准学生类及其测试

11.09_Java开发工具(Eclipse中接口抽象类具体类代码体现)(掌握)

  • A:案例演示
    • 用Eclipse实现接口抽象类具体类代码

11.10_Java开发工具(Eclipse中如何生成jar包并导入到项目中)(了解)

  • A:jar是什么?
    • jar是多个class文件的压缩包。
  • B:jar有什么用?
    • 用别人写好的东西
  • C:打jar包
    • 选中项目--右键--Export--Java--Jar--自己指定一个路径和一个名称--Finish
  • D:导入jar包
    • 复制到项目路径下并添加至构建路径。

11.11_Java开发工具(Eclipse中如何删除项目和导入项目)(掌握)

  • A:删除项目
    • 选中项目 – 右键 – 删除
      • 从项目区域中删除
      • 从硬盘上删除
  • B:导入项目
    • 在项目区域右键找到import
    • 找到General,展开,并找到
    • Existing Projects into Workspace
    • 点击next,然后选择你要导入的项目
    • 注意:这里选择的是项目名称

11.12_Java开发工具(Eclipse中断点调试的基本使用)(了解)

  • A:Debug的作用
    • 调试程序
    • 查看程序执行流程
  • B:如何查看程序执行流程
    • 什么是断点:

      • 就是一个标记,从哪里开始。
    • 如何设置断点:

      • 你想看哪里的程序,你就在那个有效程序的左边双击即可。
    • 在哪里设置断点:

      • 哪里不会点哪里。
      • 目前:我们就在每个方法的第一条有效语句上都加。
    • 如何运行设置断点后的程序:

      • 右键 -- Debug as -- Java Application
    • 看哪些地方:

      • Debug:断点测试的地方
        • 在这个地方,记住F6,或者点击也可以。一次看一行的执行过程。
      • Variables:查看程序的变量变化
      • ForDemo:被查看的源文件
      • Console:控制台
    • 如何去断点:

      • a:再次双击即可
      • b:找到Debug视图,Variables界面,找到Breakpoints,并点击,然后看到所有的断点,最后点击那个双叉。

11.13_Java开发工具(Eclipse查看Java中参数传递问题)(了解)

  • A:断点演示
    • 断点查看Java中参数传递问题

11.14_常见对象(API概述)(了解)

  • A:API(Application Programming Interface)
    • 应用程序编程接口
  • B:Java API
    • 就是Java提供给我们使用的类,这些类将底层的实现封装了起来,
    • 我们不需要关心这些类是如何实现的,只需要学习这些类如何使用。

11.15_常见对象(Object类的概述)(了解)

  • A:Object类概述
    • 类层次结构的根类
    • 所有类都直接或者间接的继承自该类
  • B:构造方法
    • public Object()
    • 回想面向对象中为什么说:
    • 子类的构造方法默认访问的是父类的无参构造方法

11.16_常见对象(Object类的hashCode()方法)(了解)

  • A:案例演示
    • public int hashCode()
    • a:返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。
    • b:不同对象的,hashCode()一般来说不会相同。但是,同一个对象的hashCode()值肯定相同。
package com.nono.object;

import com.nono.bean.Student;

public class Demo1_HashCode {

    public static void main(String[] args) {
        Object object = new Object();
        int hashCode = object.hashCode();
        System.out.println(hashCode);

        Student s1 = new Student("张三", 23);
        Student s2 = new Student("李四", 24);
        
        System.out.println(s1.hashCode());
        System.out.println(s2.hashCode());
    }
}

11.17_常见对象(Object类的getClass()方法)(在反射的时候掌握)

  • A:案例演示
    • public final Class getClass()
    • a:返回此 Object 的运行时类。
    • b:可以通过Class类中的一个方法,获取对象的真实类的全名称。
      • public String getName()
package com.nono.object;

import com.nono.bean.Student;

public class Demo2_GetClass {

    public static void main(String[] args) {
        Student s = new Student("张三", 23);
        // Class clazz = new Class();

        Class clazz = s.getClass();
        String name = clazz.getName();
        System.out.println(name);
    }
}

11.18_常见对象(Object类的toString()方法)(掌握)

  • A:案例演示
    • public String toString()
    • a:返回该对象的字符串表示。
  •   public Stirng toString() {
          return name + "," + age;
      }
    
    • b:它的值等于:
      • getClass().getName() + "@" + Integer.toHexString(hashCode())
    • c:由于默认情况下的数据对我们来说没有意义,一般建议重写该方法。
  • B:最终版
    • 自动生成
package com.nono.object;

import com.nono.bean.Student;

public class Demo3_ToString {

    /**
     * @param args
     * com.heima.bean.Student@bcda2d
     * public Stirng toString() {
            return  getClass().getName() + "@" + Integer.toHexString(hashCode()) 
        }
        左边 :类名
        中间:@
        右边:hashCode的十六进制表现形式
        这么写没有什么实际意义。
        toString方法的作用:可以更方便的显示属性值。
        getXxx方法是为了获取值,可以显示也可以赋值,或者其他操作。
     */
    public static void main(String[] args) {
        Student s = new Student("张三", 23);
//      String str = s.toString();
//      System.out.println(str);
        System.out.println(s.toString());
        System.out.println(s);
        System.out.println("我的姓名是:" + s.getName() + ",我的年龄是:"+ s.getAge());
    }

}

package com.heima.bean;

public class Student {

    private String name;
    private int age;

    public Student() {                      
        super();
    }

    public Student(String name, int age) {      
        super();
        this.name = name;
        this.age = age;
    }

    public String getName() {               
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    

    /*@Override
    public String toString() {
        
        return "我的姓名是:" + name + ",我的年龄是:"+ age;
    }*/
    
    @Override
    public String toString() {
        return "Student [name=" + name + ", age=" + age + "]";
    }

    @Override
    //重写equals方法
    public boolean equals(Object obj) {
        Student  s = (Student)obj;
        return this.name.equals(s.name) &&this.age == s.age;
    }
    
    
    
}

11.19_常见对象(Object类的equals()方法)(掌握)

  • A:案例演示
    • a:指示其他某个对象是否与此对象“相等”。
    • b:默认情况下比较的是对象的引用是否相同。
    • c:由于比较对象的引用没有意义,一般建议重写该方法。

11.20_常见对象(==号和equals方法的区别)(掌握)

  • ==是一个比较运算符号,既可以比较基本数据类型,也可以比较引用数据类型,基本数据类型比较的是值,引用数据类型比较的是地址值
  • equals方法是一个方法,只能比较引用数据类型,所有的对象都会继承Object类中的方法,如果没有重写Object类中的equals方法,equals方法和==号比较引用数据类型无区别,重写后的equals方法比较的是对象中的属性
package com.nono.object;

import com.nono.bean.Student;

public class Demo4_Equals {

    /**
     * @param args
     * equals方法,比较两个对象是否相等
     * public boolean equals(Object obj){
     *    return (this == obj);
     * }
     * 
     * Object中的equals方法是比较对象的地址值,没有什么意义,我们 需要重写它。
     * 因为在开发中我们通常比较的是对象中的属性值,我们认为 相同属性是同一个对象,这样我们就需要重写equals方法。
    
       ==和equals方法的区别
           共同点:都可以做比较,返回值都是boolean
            区别:1,==是比较运算符号,既可以比较基本数据类型,也可以比较引用数据类型,基本数据类型比较的是值,引用数据类型比较的是地址值
            2,equals方法只能比较引用数据类型,equals方法在没有重写之前,比较的是地址值,底层依赖的是==号,但是比较地址值是没
                       有意义的,我们需要重写equals方法比较对象中的属性值。
            
     */
    public static void main(String[] args) {

        Student s1 =  new Student("张三", 23);
        Student s2 =  new Student("张三", 23);
        boolean b = s1.equals(s2);              //比较2个对象是否相等
        System.out.println(s1 == s2);
        System.out.println(b);                  //重写之后比较的是对象中的属性值
    }

}

11.21_day11总结

  • 把今天的知识点总结一遍。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容