面向对象--01--类属性方法static代码块抽象类接口内部类
Posted 高高for 循环
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象--01--类属性方法static代码块抽象类接口内部类相关的知识,希望对你有一定的参考价值。
面向过程 (POP ) 与 面向对象 (OOP )
类和对象
类的成员构成
version 1.0
version 2.0
属性
变量的分类
引用类型
引用类型是一个对象类型,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。
内存位置
成员变量默认初始化赋值
属性赋值顺序
方法
方法的重载 (overload)
重写与重载的区别(Overload和Override的区别)
- 重载:是指同一个类中的多个方法具有相同的名字,但这些方法具有不同的参数列表,即参数的数量或参数类型不能完全相同
- 重写:是存在子父类之间的,子类定义的方法与父类中的方法具有相同的方法名字,相同的参数表和相同的返回类型
- 重写是父类与子类之间多态性的一种表现
- 重载是一类中多态性的一种表现
重载: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代码块抽象类接口内部类的主要内容,如果未能解决你的问题,请参考以下文章