JAVA学习第七天

来源:互联网 发布:mac 在线重装系统 编辑:程序博客网 时间:2024/04/30 01:52

10.01_面向对象(package关键字的概述及作用)(了解)

 A:为什么要有包* 将字节码(.class)进行分类存放 * 包其实就是文件夹 B:包的概述举例:    学生:增加,删除,修改,查询    老师:增加,删除,修改,查询    ...    方案1:按照功能分        com.heima.add            AddStudent            AddTeacher        com.heima.delete            DeleteStudent            DeleteTeacher        com.heima.update            UpdateStudent            UpdateTeacher        com.heima.find            FindStudent            FindTeacher    方案2:按照模块分        com.heima.teacher            AddTeacher            DeleteTeacher            UpdateTeacher            FindTeacher        com.heima.student            AddStudent            DeleteStudent            UpdateStudent            FindStudent

10.02_面向对象(包的定义及注意事项)(掌握)

A:定义包的格式  * package 包名;  * 多级包用.分开即可B:定义包的注意事项   * A:package语句必须是程序的第一条可执行的代码   * B:package语句在一个java文件中只能有一个   * C:如果没有package,默认表示无包名C:案例演示   * 包的定义及注意事项

10.03_面向对象(带包的类编译和运行)(掌握)

 A:如何编译运行带包的类        * a:javac编译的时候带上-d即可            * javac -d . HelloWorld.java        * b:通过java命令执行。            * java 包名.HellWord

10.04_面向对象(不同包下类之间的访问)(掌握)

    * A:案例演示       * 不同包下类之间的访问

10.05_面向对象(import关键字的概述和使用)(掌握)

    * A:案例演示        * 为什么要有import            * 其实就是让有包的类对调用者可见,不用写全类名了     * B:导包格式        * import 包名;        * 注意:        * 这种方式导入是到类的名称。        * 虽然可以最后写*,但是不建议。    * C:package,import,class有没有顺序关系(面试题)

10.06_面向对象(四种权限修饰符的测试)(掌握)

  • A:案例演示
    • 四种权限修饰符
    • B:结论

    • 本类 同一个包下(子类和无关类) 不同包下(子类) 不同包下(无关类)
      private Y
      默认 Y Y
      protected Y Y Y
      public Y Y Y Y

10.07_面向对象(类及其组成所使用的常见修饰符)(掌握)

A:修饰符:        * 权限修饰符:private,默认的,protected,public        * 状态修饰符:static,final        * 抽象修饰符:abstract B:类:        * 权限修饰符:默认修饰符,public        * 状态修饰符:final        * 抽象修饰符:abstract            * 用的最多的就是:publicC:成员变量:        * 权限修饰符:private,默认的,protected,public        * 状态修饰符:static,final        * 用的最多的就是:private D:构造方法:        * 权限修饰符:private,默认的,protected,public         * 用的最多的就是:publicE:成员方法:        * 权限修饰符:private,默认的,protected,public        * 状态修饰符:static,final        * 抽象修饰符:abstract        * 用的最多的就是:publicF:除此以外的组合规则:        * 成员变量:public static final        * 成员方法:            * public static             * public abstract            * public final

10.08_面向对象(内部类概述和访问特点)(了解)

* A:内部类概述* B:内部类访问特点    * a:内部类可以直接访问外部类的成员,包括私有。    * b:外部类要访问内部类的成员,必须创建对象。    * 外部类名.内部类名 对象名 = 外部类对象.内部类对象;* C:案例演示    * 内部类极其访问特点

10.11_面向对象(成员内部类的面试题)(掌握)
* A:面试题
*
要求:使用已知的变量,在控制台输出30,20,10。

    class Outer {        public int num = 10;        class Inner {            public int num = 20;            public void show() {                int num = 30;                System.out.println(?);                System.out.println(??);                System.out.println(???);            }        }    }    class InnerClassTest {        public static void main(String[] args) {            Outer.Inner oi = new Outer().new Inner();            oi.show();        }        }

10.12_面向对象(局部内部类访问局部变量的问题)(掌握)

A:案例演示        * 局部内部类访问局部变量必须用final修饰        * 局部内部类在访问他所在方法中的局部变量必须用final修饰,为什么?            因为当调用这个方法时,局部变量如果没有用final修饰,他的生命周期和方法的生命周期是一样的,当方法弹栈,这个局部变量也会消失,那么如果局部内部类对象还没有马上消失想用这个局部变量,就没有了,如果用final修饰会在类加载的时候进入常量池,即使方法弹栈,常量池的常量还在,也可以继续使用    但是jdk1.8取消了这个事情,所以我认为这是个bug

10.13_面向对象(匿名内部类的格式和理解)

A:匿名内部类    * 就是内部类的简化写法。    B:前提:存在一个类或者接口    * 这里的类可以是具体类也可以是抽象类。    C:格式:    *        new 类名或者接口名(){            重写方法;        }   D:本质是什么呢?    * 是一个继承了该类或者实现了该接口的子类匿名对象。   E:案例演示    * 按照要求来一个匿名内部类

10.14_面向对象(匿名内部类重写多个方法调用)

    * A:案例演示        * 匿名内部类的方法调用

10.15_面向对象(匿名内部类在开发中的应用)

  • A:代码如下
  • //这里写抽象类,接口都行abstract class Person {    public abstract void show();}class PersonDemo {    public void method(Person p) {        p.show();    }}class PersonTest {    public static void main(String[] args) {        //如何调用PersonDemo中的method方法呢?        PersonDemo pd = new PersonDemo ();    }}

10.16_面向对象(匿名内部类的面试题)

A:面试题    按照要求,补齐代码    interface Inter { void show(); }    class Outer { //补齐代码 }    class OuterDemo {        public static void main(String[] args) {              Outer.method().show();          }    }    要求在控制台输出”HelloWorld”

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()值肯定相同。

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

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

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

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

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

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

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

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

转http://blog.csdn.net/qq_27672655/article/details/66968494

0 0