面向对象--01--类属性方法static代码块抽象类接口内部类

Posted 高高for 循环

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象--01--类属性方法static代码块抽象类接口内部类相关的知识,希望对你有一定的参考价值。

面向过程 (POP ) 与 面向对象 (OOP )

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

类和对象

在这里插入图片描述
在这里插入图片描述

类的成员构成

version 1.0

在这里插入图片描述

version 2.0

在这里插入图片描述
在这里插入图片描述

属性

变量的分类

在这里插入图片描述

引用类型

引用类型是一个对象类型,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

内存位置

在这里插入图片描述

成员变量默认初始化赋值

在这里插入图片描述

属性赋值顺序

在这里插入图片描述
在这里插入图片描述

方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

方法的重载 (overload)

在这里插入图片描述
在这里插入图片描述

重写与重载的区别(Overload和Override的区别)

  1. 重载:是指同一个类中的多个方法具有相同的名字,但这些方法具有不同的参数列表,即参数的数量或参数类型不能完全相同
  2. 重写:是存在子父类之间的,子类定义的方法与父类中的方法具有相同的方法名字,相同的参数表和相同的返回类型
  3. 重写是父类与子类之间多态性的一种表现
  4. 重载是一类中多态性的一种表现

重载:Overload

方法名相同,参数列表不同,-------和返回值没有关系,和访问修饰符也没得关系。参数列表同不同,是指参数的类型,个数,顺序。

重写 :Override “两同两小一大”的原则"

两同:方法名相同,参数列表相同
两小
1.返回值如果是引用类型,子类的返回值要比父类的小,或者一样。如果返回值是基本类型,要求一样。
2. 抛出的异常类型,子类的要比父类的小,或者一样。
一大:访问修饰符权限子类的要比父类的大,或者一样。

构造器或(构造方法)

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

static

某些特定的数据在内存空间里只有一份

在这里插入图片描述
在这里插入图片描述

设计思想:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

内存解析:

在这里插入图片描述
在这里插入图片描述

注意事项:

在这里插入图片描述
在这里插入图片描述

理解 main 方法的语法:

在这里插入图片描述
在这里插入图片描述

public class test02 {
    public static void main(String[] args) throws Exception {

        for(int i=0 ;i<args.length;i++){
            System.out.println("args: "+i+args[i]);
        }

    }
}

在这里插入图片描述
在这里插入图片描述

代码块

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

抽象类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

接口

  • Java里面由于不允许多重继承,所以如果要实现多个类的功能,则可以通过实现多个接口来实现。
  • Java接口和Java抽象类代表的就是抽象类型,就是我们需要提出的抽象层的具体表现。OOP面向对象的编程,如果要提高程序的复用率,增加程序的可维护性,可扩展性,就必须是面向接口的编程,面向抽象的编程,正确地使用接口、抽象类这些太有用的抽象类型做为java结构层次上的顶层。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

构造方法

  • 接口里是没有构造方法的
  • 在创建实现类的对象时默认的super(),是调用的默认Object的无参构造。

成员变量

  • 接口里没有成员变量,都是常量
  • 所以,你定义一个变量没有写修饰符时,默认会加上:public static final

成员方法

  • 接口里的方法,默认就都是抽象的
  • 如果你不写明是abstract的,那会自动补齐。例如:public abstract vo save

接口和抽象类 之间对比:

在这里插入图片描述
在这里插入图片描述

另外:

在这里插入图片描述
在这里插入图片描述

内部类

在这里插入图片描述
在这里插入图片描述

举例:

在这里插入图片描述

public class Outer {
    private int s = 111;

    public class Inner {

        private int s = 222;

        public void mb(int s) {
            System.out.println(s);
            System.out.println(this.s);
            System.out.println(Outer.this.s);
        }
    }


    public static void main(String[] args) {
        Outer a = new Outer();
        Outer.Inner b = a.new Inner();

        b.mb(333);
    }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上是关于面向对象--01--类属性方法static代码块抽象类接口内部类的主要内容,如果未能解决你的问题,请参考以下文章

面向对象基础——static关键字和代码块的使用

java面向对象,final,super ,抽象类,重写,代码块,static,this,构造方法,堆栈

036_面向对象_09_static变量和方法

Java面向对象详解-下

Java面向对象中 static关键字的详解

面向对象中静态方法和属性的理解