zoukankan      html  css  js  c++  java
  • Java语言基础学习笔记——面向对象


    继承:什么是一种什么,就是继承关系
    聚合:什么是什么的一部分,不唯一,例如球队队长
    组合:什么是什么的必须的构成部分,唯一的,别的不能用,例如,人的头

    面向对象设计思想:1.考虑问题中有哪些类哪些对象
                      2.考虑这些对象和类中各有有哪些属性和方法
                      3. 再考虑类和类之间的关系

    1。对象的创建和使用:
        1:必须使用new关键字创建对象。
        2:使用对象引用.成员变量或来引用对象的成员变量。
        3:使用对象引用.方法(参数列表)来调用对象的方法。
        4;同一类的每个对象有不同的成员变量存储空间。
        5:同一类的每个对象恭喜该类的方法

    2 引用类型: Dog d = new Dog();声明一个Dog类型的引用变量,使用new语句创建了一个Dog,可以通过d来访问它

     d.furcolor    d.catchmouse()

    3:构造方法:要和类名一样,没有返回值,和new一起使用来构造新的对象

    4:内存分析

    5。方法重载OverLoad,形参不一样(形参类型不同或数量不同),返回值必须相同
    例如void max(int a, int b)和void max(float a, float b)

    构造方法也可以构成重载

    6.添加一个方法有3个问题。1是方法名,2是方法参数,3是返回值

    7。this关键字:有时候处理重新的情况,使用该方法的对象的引用
    class Cat {
      String = name;
       Cat(String name) {
        this.name = name;
       }
    }

    8.static:用static声明的成员变量为该类的公用变量
              用static声明的方法为静态方法,不可以访问非static的成员
              可以通过对象引用或类名访问静态成员

    9:package包:为了解决类名重名的问题,取名约定是公司域名倒过来
    1。必须写在java源文件的第一条语句
    2。编译出来的.class文件必须位于正确的目录文件下面。(该类的源码可能产生影响,删除或转移其他目录)
    3。如果想在另外一个类中,用包里的类,必须把名字写全或用improt引入
       访问同一个包中的类不需要引入

    4。 import 引入包里的类 引入* 或具体类名,例如imoprt.com.hqr.java001.*;
     
    5。  必须class文件的最上层包的父目录位于classpath下(右键我的电脑属性。环境变量)
    6 。执行一个类也必须写全包名

    jar - cvf 名字.jar *.* 打包

    7.继承:用extends关键字来实现

    8。方法的重写(overwrite):1,必须和被重写方法具有相同的方法名称,参数列表和返回类型。
                   2,重写方法不能使用比被重写方法更严格的访问权限
    9.super 引用基类成分

    10:继承中的构造方法
       子类的构造的过程中必须调用其基类的构造方法。
       子类可以在自己的构造方法中使用super(参数清单)调用基类的构造方法
           使用this(参数)调用本类的另外的构造方法
           如果使用super,必须写在子类构造方法的第一行

    11:object中的头toString()方法,(TestToString)(针对对象)
    public String toString()
    当进行String与其他类型数据的连接操作时,例如System.out.println("info"+person.toString());将自动调用该对象

    12:public boolean equals(Object obj)方法
       equlas方法定义为:x.equals(y)当x和y是同一个对象的应用时返回ture否则返回false

    13:对象转型(casting):可以使用instanceof 类名 来判断该引用型变量所指向的对象是否属于该类或该类的子类
    例如System.out.pritnln(a instanceof Animal);//true

    14:多态:存在的必要条件
             1。要有继承
             2。要有重写
             3。父类应用指向子类对象

    15.1抽象类abstract:需要定义不需要实现的方法
       2抽象方法是用来重写的。public abstract void enjoy();
       3当一个类中含有抽象方法的时候,这个类必须是抽象类
       4抽象类不能实例化

    16。final变量的值不能改变。
        final的方法不能被重写
        final的类不能被继承

    17。接口(interface):本质上是特殊的抽象类
        只包含常量的方法和定义,而没有变量和方法的实现

        接口特性: 接口可以多重实现;就是一个类可以接多个接口
                   接口中声明的属性默认为public static final 的,也只能是
                   接口的方法只能是抽象的public abstract的
                   接口可以继承其他的接口,并添加新的属性和抽象方法
                  
                    多个无关的类可以实现同一个接口
       一个类可以实现多个无关的接口
                    与继承关系类似,接口与实现类之间存在多态性
       用implements实现


    抽象类和接口的区别

       1,抽象类里可以有构造方法,而接口内不能有构造方法。

       2,抽象类中可以有普通成员变量,而接口中不能有普通成员变量。

       3,抽象类中可以包含非抽象的普通方法,而接口中所有的方法必须是抽象的,不能有非抽象的普通方法。

       4,抽象类中的抽象方法的访问类型可以是public ,protected和默认类型,但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。

       5,抽象类中可以包含静态方法,接口内不能包含静态方法。

       6,抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public  static类型,并且默认为public static类型。

       7,一个类可以实现多个接口,但只能继承一个抽象类。

  • 相关阅读:
    经典排序算法 圈排序Cycle Sort
    javascript中的封装多态和继承
    经典排序算法 珠排序Bead Sort
    经典排序算法 希尔排序Shell sort
    经典排序算法 梳排序Comb sort
    逻辑电路 晶体管Transistor
    经典排序算法 Flash Sort
    【转】一些ASP.Net开发调试环境错误的解决方法
    【原】IIS发布ASP.Net网站提示"访问IIS元数据库失败"的解决
    【SQL精彩语句】分拆列值
  • 原文地址:https://www.cnblogs.com/hqr9313/p/2438298.html
Copyright © 2011-2022 走看看