java基础(8):面向对象思想

java面向对象四大特性:
抽象:忽略与当前主题(需求)无关内容
封装:封装就是隐藏属性或者方法的实现细节的这种处理方式
继承:
多态
1.什么是对象?
用来描述客观事务的一个实体,由一组属性和方法构成
2.什么是类
具备相同属性和方法的一组对象的集合
3.类和对象的关系
类是对象的抽象化
对象是类的具象化
比如:在程序中需要完成 功能1  功能2  功能3
设计:根据功能分类
定义类:类1具备功能1  类2具备功能2  类3具备功能3
4.如何定义一个类?
通过class关键字定义类
在类的大括号中定义成员属性和方法
5.如何创建类的对象?
类型 对象名=new 类型();
6.如何使用对象中的属性和方法?
使用对象名.属性名或者对象名.方法名 来使用属性和方法
在java中解决程序问题的思路
1.需要在程序中实现 展示汽车详细信息的功能(品牌,型号,颜色)
2.需要每一个汽车对象都具备 品牌 型号 颜色 以及 展示的功能
3.在程序世界中加入一个汽车类型,(从对象中抽象出类)类定义了汽车这个类型所具备的属性和方法
4.当我们想要执行 展示汽车详细信息这个功能的时候,就必须要创建出汽车这个类型的一个对象。通过对象完成对方法的调用
7.什么是封装?
封装包括封装属性和封装方法
封装方法:将一系列的功能通过一个方法包装起来
封装属性:将成员变量的访问修饰符设置为private,给每个成员变量提供对象的GET/SET方法
封装属性规范:属性名首字母必须小写 获取成员变量的值的方法命名为(get属性名首字母大写) 设置成员变量的值的方法命名为 (set属性名首字母大写)
8.构造函数的特点?
    1.每个类都会有一个默认的无参构造函数,在该函数中没有任何代码
    2.构造方法不能写返回值类型
    3.构造方法的方法名和类名一致
    4.如果在类中定义了带参数的构造方法,默认的无参的构造方法就不存在了
    5.new 对象()的过程就是执行构造方法的过程
    6.如果没有执行new 对象(),对象是没有创建的,变量的值为可以null
9.构造方法的重载
一个类中可以有多个不同的构造方法,这成为构造方法的重载
构造方法的重载可以让我们有多种方式创建对象 提高代码的拓展性

10.什么是方法的重载?
在同一个类中,方法名相同形式参数列表不同的一组方法构成方法的重载
11.形式参数列表不同包含哪些方面?
参数个数不同
参数类型不同
参数顺序不同
12.this关键字代表什么?
this关键字代表的是执行当前方法的这个对象
13.static可以修饰哪些内容?需要注意什么?
static可以修饰成员变量:
被static修饰的成员变量被称为静态变量
静态变量可以使用类名直接访问
static通常和final一起联合使用用来定义静态常量
静态常量用于定义一些使用频率较高,而且不能修改的数据
static可以修饰成员方法:
被static修饰的成员方法被称为静态方法
静态方法可以直接使用类名调用
静态方法中不能使用非静态成员变量
静态方法通常用来定义一些使用频率较高的方法,以便于使用
static可以用来修饰一段代码块
static修饰的代码块被称为静态块
静态块会在类被加载的时候执行,而且只会执行一次
在静态块中可以进行一些数据或者资源的初始化工作
所有的对象共享类中的静态成员
14.访问修饰符权限表
               public  protected   缺省 (firendly)  private
本类            可以    可以           可以        可以
同包子类            可以    可以           可以       不可以
同包非子类      可以    可以           可以       不可以
不同包子类    可以    可以          不可以       不可以
不同包且非子类    可以    不可以          不可以       不可以
15.构造方法
每个类都有默认的无参构造方法
如果重载带参的构造方法,那么无参构造方法就不存在了
当我们创建子类对象时,在子类的构造方法中会隐式调用父类的无参构造方法
如果父类中重载类带参数的构造方法,又没有将无参的构造方法声明出来,这时
子类调用父类无参构造方法会失败,如果要创建对象,那么就需要在子类的构造
方法的第一行显示调用父类的带参构造方法
大家在重载带参构造方法时,尽量将无参构造方法也声明出来
通过在子类中调用父类的无参构造方法,主要是为了将一些数据保存到父类的成员变量中
16.this和super
this.成员可以使用当前类中的成员属性和成员变量
如果当前类中没有该成员,那么会使用父类中的相同名字的成员
super.成员可以使用父类中的成员属性和成员变量(非private)
this(参数列表)可以调用当前类中的构造方法
super(参数列表)可以显示的调用父类中的构造方法,该句代码必须写在子类构造方法的
第一行

17.什么是方法的重写?
在子类中如果有一个方法和父类中的方法名称返回值参数完全一致,这时子类的方法就覆
盖了父类的方法,被称为重写
18.重写父类方法为什么访问权限不能比父类更严格?
当父类引用指向子类对象时,通过父类引用执行方法,方法的可见性由父类提供
但是方法的执行者是子类对象,如果子类对象的访问权限更加严格,可能就会出现
父类引用能够调用方法,但是子类对象却不能执行的情况
19.引用类型转型的要求?
父类引用可以指向子类对象
子类引用不能指向父类对象
20.多态对于编程有什么好处?
多态可以降低程序之间的耦合度,大大的提高程序的可维护性以及可拓展性
21.静态方法能重写吗?
可以重写静态方法,但是静态方法是属于类而不是对象,所以执行静态方法关键看是通过哪个引用在执行

22.抽象方法有什么特征?
抽象方法没有方法体
抽象方法需要使用abstract关键字来修饰
23.抽象类和普通类的区别?
抽象类中可以有普通方法   普通类可以有普通方法
抽象类中可以有抽象方法   普通类不能有抽象方法
抽象类拥有构造函数       普通类拥有构造函数
抽象类不可以显式创建对象 普通类可以显式创建对象
24.接口的作用是什么?
接口用来定义程序相互衔接时的规范
25.接口有什么特征?
接口使用interface来定义
接口没有构造函数
接口中都是抽象方法
接口中定义抽象方法可以省略abstract关键字
接口中的成员变量都是public静态常量
26.面向接口编程的重点?
关注需要做什么 不关注怎么去做

猜你喜欢

转载自blog.csdn.net/yincheng_917/article/details/81975482