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,一个类可以实现多个接口,但只能继承一个抽象类。

  • 相关阅读:
    03_ if 练习 _ little2big
    uva 11275 3D Triangles
    uva 12296 Pieces and Discs
    uvalive 3218 Find the Border
    uvalive 2797 Monster Trap
    uvalive 4992 Jungle Outpost
    uva 2218 Triathlon
    uvalive 3890 Most Distant Point from the Sea
    uvalive 4728 Squares
    uva 10256 The Great Divide
  • 原文地址:https://www.cnblogs.com/hqr9313/p/2438298.html
Copyright © 2011-2022 走看看