面向对象小结

数组

1、数组的复制

System.arraycopy(a,1,b,0,4);
int[] b=Arrays.copyOf(a,6);

2、数组的扩容

int[] a=Arrays.copyOf(a,a.length+1);

3、数组排序

Arrays.sort(arr);

方法:

​ 封装一段特定的业务逻辑功能、只干一件事、可以被反复调用、

​ 减少代码重复,有利于代码的复用、有利于代码的维护

1、定义:修饰词 返回值类型 方法名(参数){方法内容};

2、方法的调用:

无返回值:方法名(有参传参);

有返回值:数据类型 变量=方法名(有参传参);

3、return:

return;结束方法

return 值;1、结束方法2、返回结构给调用方

对象:存在的一个单个个体(人

类:代表一类个体(一群人)

类可以包括

1、对象的属性——————————成员变量

2、对象的动作——————————方法

public class Student{
    int age;
    String name;
    String address;
    public void study(){
        System.out.println("helloWorld");    
    }

}
public class Test{
    public static void main(String[] args){
        Student ls=new Student();
        ls.name="李四";
        ls.study();
    }
}

 3方法的重载(overload)

定义:1、发生在同一类中,方法名相同,参数列表不同study(int a);study(double b);

结果:2、编译器在编译时会根据方法的参数类型,自动绑定类型相同的方法

public class Aoo{
    void show(){}
    void show(int age){}
    void show(String name){}
    void show(int age,String name){}
    void show(String name,int age){}
}

引用:数据类型 引用类型变量 指向 对象

        Student       zs              = new       Student(); 

构造方法:构造函数、构造器、构建器---------复用给成员变量赋初值代码

与类同名,没有返回值类型(连void都没有)

在创建(new)对象时被自动调用

若自己不写构造方法,则编译器默认提供一个无参构造方法,若自己写了构造方法,则不再默认提供

构造方法可以重载

this:

指代当前对象

哪个对象调用方法它指的就是哪个对象

只能用在方法中

**方法中访问成员变量之前默认有个this

**

成员变量与局部变量同名时,若想访问成员变量则this不能省略

class Student{
    int age;
    //构建一个方法,提高成员变量赋值的复用性
    Student(int age){
        this.age=age//这里的age的this不能省略
    }
    void study(){
        System.out.println(age);//这里的age前面默认有一个this
    }
}

 this.成员变量名-------------访问成员变量

this.方法名()-----------------调用方法(了解)

this()---------------------------调用构造方法(了解)

若引用类型变量的值为null,则该引用类型变量不能进行任何点操作了,
若操作则发生NullPointerException空指针异常

引用过程:利用 引用类型变量的 栈 调出 堆 中的 成员变量。

        引用类型数组与基本类型数组的区别:

给数组元素赋值必须new一下

若想访问对象数据必须通过数组元素打点

       继承

作用:代码复用

通过extends来实现

派生类 特有的属性和行为

超类 共有的属性和行为

- 派生类既能访问自己的,也能访问超类,但是超类不能访问派生类的
- 一个超类可以有多个派生类,一个派生类只能有一个超类---------单一继承
- 具有传递性
- java规定:先构造超类,再构造派生类

- 在派生类的构造方法中若没有调用超类的构造方法,则默认super()调用超类的无参构造方法
- 在派生类的构造方法中若自己调用了超类的构造方法,则不再默认提供
> super()调用超类构造方法,必须位于派生类构造方法的第1行

super.成员变量名---------------------访问超类的成员变量
super.方法名()-------------------------调用超类的方法--------------如下下
super()-----------------------------------调用超类的构造方法 如下

class Aoo{
    Aoo(int a){
    }
}
class  Boo extends Aoo{
    Boo(){
        super(5);
    }
}

                  向上造型

1、超类型 的引用 指向 派生类的 对象

        Aoo zs  =new Boo(); 

2、能点出来什么,看引用的类型

                        重写

1、发生在父子类中,方法名相同,参数列表相同

2、重写方法被调用时,看对象的类型(是Aoo or Boo)

class Student{
    void study(){
        S.o.p"英语"
    }
}
class Aoo extends Student{
    void study(){
        S.o.p"语文"
    }
}
class Aoo extends Student{
    void study(){
        super.study();S.o.p"语文"
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值