面向对象涉及的笔记

面向对象涉及的笔记

以下为在学习面向对象时候所整理的笔记,对各位的帮助可能不大,主要是我个人私用。

  1. 面向对象的思维,(定义),以及与面向过程的区别

  2. 认识什么是方法。方法的格式

//属性 返回类型 方法名
public String hi(){
    return "Hello World!"
}
//注意,break与return的区别
  1. 静态方法与非静态方法 strating

  2. 实参与形参

  3. 类与对象的关系:类的一个具体实例

  4. 构造器:无参构造与有参构造。

    new的本质是调用构造器;

    定义有参时,要显示定义无参构造;

    构造器用来定义初始值

  5. 面向对象的三大特性:封装、继承、多态

    • 封装:高内聚,低耦合。get/set/;priviat

    • 继承: A extands B(A继承B),JAVA是单继承,没有多继承;

      继承是类之间的一种关系,除此以外,还有依赖,组合,聚合;

      object是所有类的父类。

      this、super的不同。

      • super(); 调用父类的构造器,子类默认使用父类的无参构造。只有在继承关系才可以使用

    在这里插入图片描述

        • 引用静态与非静态的方法会有不一样的结果。当引用静态static的时候,new对象指向的是左边。非静态的时候则相反。
        • 重写:子类重写父类方法。重写参数列表必须相同。静态方法不可重写,(静态属于类,不属于实例)。final常量也不可以
      • 多态:
        • 父类的引用指向子类:A a =new B();
        • 多态存在的条件(多态是方法的,属性没有多态)
          • 有继承关系
          • 子类重写父类的方法
          • 父类引用指向子类对象
    1. instanceof X instanceof Y

    2. 当new一个父类的对象,想引用子类的方法时(Person obj = new Student student时),需要类型之间的转换。 低转高是没问题的,高转低就需要强制转换**(Student)stduent;** (原先student是Person类,为Student的父类,但是子类转换父类,低转高有可能会导致有些方法是用不了)。

    3. 静态变量可以被类调用,但是非静态变量,只能被对象调用

    4. static代码块只执行一次,还有匿名代码块,和构造方法。static{ } 、 { }

    5. 被final修饰的类,不可以被继承,但是该类的属性中可以含有final常量。

    6. abstract:抽象类,只搭建方法的框架,就可以使用abstract修饰该方法。但是不能new该类为对象,相当于一个“约束”。

      且该抽象方法,必须声明为 抽象类abstract。

    7. 接口interface:可以多继承。只有规范。

      • 使用interface定义,使用implements继承
      • 在接口interface中,属性默认定义为静态常量 public static final—;方法定义为抽象公共类 public abstract–
      • 接口不能被实例化,接口中没有构造方法。
      • interfance可以实现多个接口,但是必须重写imperments的方法
    8. 内部类:

      • 可以通过new内部类,进而调用内部类所在类的私有属性new Outer.Inter
      • 一个Java文件,中可以有多个class类,但是只能有一个public class类
      • 匿名内部类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值