Java学习(九)面向对象编程

语句块

  • 普通代码块

    写在方法里面的

    {

    }

  • 构造块

    写在类里面的

    { }

    每次 创建对象都会执行一次

  • 静态块

    在类中定义的,使用static修饰的代码块,称为静态代码块,它是属于类的,在类加载时就自动执行。

    static{ }

    只会在加载类时执行一次

内部类与外部类

定义:将一个类定义在另一个类的里面,里面那个类就称为内部类(内置类,嵌套类)。

内部类不仅可以在类中定义,还可以在方法中定义.

访问特点:内部类可以直接访问外部类中的成员,包括私有成员。而外部类要访问内部类中的成员必须要建立内部类的对象。

内部类引用外部类对象:外部类名.this

内部类的分类

  1. 成员内部类

    • 非静态内部类
    • 静态内部类
    • 匿名内部类
  2. 方法内部类

    方法内部类不能用puclic修饰.只能通过在该方法里定义内部类的对象,直接调用内部类的方法

  3. 匿名内部类

    定义:就是内部类的简化写法。 前提:内部类必须继承或实现一个外部类或者接口,但两者不可兼得。 格式:new 外部类名或者接口名(){覆盖类或者接口中的代码,(也可以自定义内容。)} 简单理解:就是建立一个带内容的外部类或者接口的子类匿名对象。

    内部类定义在成员位置上,可以被private、static成员修饰符修饰。被static修饰的内部类只能访问外部类中 的静态成员。

    如果内部类中定义了静态成员,该内部类也必须是静态的!

    • 继承式
    • 接口式
    • 参数式

    三、注意事项

    在使用匿名内部类的过程中,我们需要注意如下几点:

    1. 使用匿名内部类时,我们必须是继承一个类或者实现一个接口,但是两者不可兼得,同时也只能继承一个类或者实现一个接口。
    2. 匿名内部类中是不能定义构造方法的。
    3. 匿名内部类中不能存在任何的静态成员变量和静态方法。
    4. 匿名内部类为局部内部类,所以局部内部类的所有限制同样对匿名内部类生效。
    5. 匿名内部类不能是抽象的,它必须要实现继承的类或者实现的接口的所有抽象方法。
    6. 当所在的方法的形参需要被内部类里面使用时,该形参必须为final。

抽象

  1. 抽象类

    Java允许在定义方法时不写方法体,不包含方法体的方法为抽象方法,抽象方法必须使用abstract关键字来修饰。

    Java中可以定义没有方法体的方法,该方法的具体实现由子类完成,该方法称为抽象方法,包含抽象方法的类就是抽象类。

    抽象类不一定有抽象方法,包含抽象方法的类一定是抽象类.

    抽象类不可以new创建对象,但是抽象类有构造方法.

  2. 抽象类的使用

    • 定义一个子类继承抽象类
    • 复写抽象类中所有的抽象方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值