JAVA基础01- 面向对象基础

一 封装

概念:是指隐藏对象的属性和实现细节, 仅对外提供访问的方式

好处:讲变化隔离;便于使用;提高重用性;安全性;

单例设计模式:

解决的问题:保证一个类在内存中的对象具有唯一性。

Runtime()方法就是单例设计模式进行设计的

如何保证队形的唯一性呢?

思想:

1,不让其他程序创建对象

2,在本类中创建一个本类对象

3,对外提供方法,让其他程序获取这个对象。

class Single

{

    private Single() { } // 私有化构造函数 

    private Static Single s = new Single(); // 创建私有化并静态的本类对象

    public Static Single getInstance() { return s } // 定义共有并静态的方法,返回本类对象

// 懒加载

class Single2 

{

    private Single2() {}

    private static Single2 s = null;

    public static Single2 getInstance()

    {

        if(s == null)

        {

            s = new Single2()

        }

        return s;

    }

}


二 继承

好处:

1:提高了代码的复用性。

2,让类和类之间产生了关系

final 特点

1, 修饰符关键字,可以修饰类,方法,变量

2,被 final 修饰的类是一个最终类,不可以被其他类继承

3,被 final 修饰的方法是一个最终方法,不可以被覆盖

4,被 final 修饰的变量是一个常量,只能赋值一次

抽象类特点:

1,抽象方法只能定义在抽象类中,抽象类和抽象方法必须由 abstract 关键字修饰

2, 抽象方法只能定义方法的声明,不能定义方法的实现

3, 抽象类不能实例化对象

4, 只有通过子类继承抽象类并覆盖了抽象类中的所有抽象方法后,该子类才可以实例化。否则,该子类还是一个抽象类

5,抽象类只能单继承

接口:

抽象类和接口的区别:

1,抽象类只能被继承,而且只能单继承

     接口需要被实现,而且可以多实现

2, 抽象类中可以定义非抽象方法,子类可以直接继承使用

     接口都有抽象方法,需要子类去实现

3,抽象类使用的是 is a 关系

    接口使用的是 like a 关系

4,抽象类的成员修饰符可以自定义 

    接口中的成员修饰符是固定的,全是 public



三 多态

多态:函数本身就具有多态性,某一种食物有不同的具体的体现

体现:父类的引用或者接口的引用指向了自己的子类对象   Animal animal = new Cat()

多态的好处:提高了程序的扩展性

多态的弊端:当父类引用指向了子类对象时,虽然提高了扩展性,但是只能访问父类中具备的方法,不可以访问子类中特有的方法。访问的局限性

匿名内部类:没有名字的内部类。就是内部类的简化形式。一般只用一次的就有这种方式

内名内部类的格式: new 父类&接口名(){  定义子类成员或者覆盖父类方法 }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,697评论 0 11
  • 1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元,封装数据和逻辑,以此提...
    征程_Journey阅读 1,196评论 0 2
  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-java.h...
    eddy_wiki阅读 1,228评论 0 5
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 1,267评论 0 2
  • 写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,确定步骤。每一个思路部分用到哪些...
    横冲直撞666阅读 362评论 0 0