java基础语法之面向对象

1.1 了解面向对象在这里插入图片描述

面向对象特点
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

面向对象特征
在这里插入图片描述在这里插入图片描述

. 面向过程和面向对象的区别
面向过程是蛋炒饭,面向对象是盖浇饭。盖浇饭的好处就是“菜”“饭”分离,从而提高了制作盖浇饭的灵活性。饭不满意就换饭,菜不满意换菜。用软件工程的专业术语就是“可维护性”比较好,“饭” 和“菜”的耦合度比较低。蛋炒饭就不行了, 如果不满意就要丢掉重做;
区别:
编程思路不同: 面向过程以实现功能的函数开发为主,而面向对象要首先抽象出类、属性及其方法,然后通过实例化类、执行方法来完成功能。
封装性:都具有封装性,但是面向过程是封装的是功能,而面向对象封装的是数据和功能。
面向对象具有继承性和多态性,而面向过程没有继承性和多态性,所以面向对象优势是明显。

1.2类的定义在这里插入图片描述

类与对象的关系在这里插入图片描述
类是对象的抽象,而对象是类的具体实例。 类是抽象的,不占用内存,而对象是具体的,占用存储空间。 类是用于创建对象的蓝图,类就是一个带方法和变量的特定类型
类和对象好比图纸和实物的关系,模具和铸件的关系。
在这里插入图片描述
在这里插入图片描述
又比如人类就是一个概念,人类具有身高,体重等属性。人类可以做吃饭、说话等方法。
小明就是一个具体的人,也就是实例,他的属性是具体的身高200cm,体重180kg,他做的方法是具体的吃了一碗白
米饭,说了“12345”这样一句话。

1.3 成员变量与局部变量的区别在这里插入图片描述

1.4构造函数在这里插入图片描述

1.5 关键字

this
this是对象内部指代自身的引用,同时也是解决成员变量和局部变量同名问题;this可以调用成员变量,不能调用局部变量;this也可以调用成员方法,但是在普通方法中可以省略this,在构造方法中不允许省略,必须是构造方法的第一条语句。而且在静态方法当中不允许出现this关键字。
superc
super代表对当前对象的直接父类对象的引用,super可以调用直接父类的成员变量(注意权限修饰符的影响,比如不能访问private成员)
super可以调用直接父类的成员方法(注意权限修饰符的影响,比如不能访问private成员);super可以调用直接父类的构造方法,只限构造方法中使用,且必须是第一条语句。
static
static可以修饰变量、方法、代码块和内部类
static属性属于这个类所有,即由该类创建的所有对象共享同一个static属性。可以对象创建后通过对象名.属性名和类名.属性名两种方式来访问。也可以在没有创建任何对象之前通过类名.属性名的方式来访问。
.static变量和非static变量的区别(都是成员变量,不是局部变量)
final和abstract关键字的作用
final和abstract是功能相反的两个关键字,可以对比记忆
abstract可以用来修饰类和方法,不能用来修饰属性和构造方法;使用abstract修饰的类是抽象类,需要被继承,使用abstract修饰的方法是抽象方法,需要子类被重写。
final可以用来修饰类、方法和属性,不能修饰构造方法。使用final修饰的类不能被继承,使用final修饰的方法不能被重写,使用final修饰的变量的值不能被修改,所以就成了常量。
特别注意:final修饰基本类型变量,其值不能改变,由原来的变量变为常量;但是final修饰引用类型变量,栈内存中的引用不能改变,但是所指向的堆内存中的对象的属性值仍旧可以改变
final关键字有哪些用法
(1)修饰类:表示该类不能被继承;
(2)修饰方法:表示方法不能被重写但是允许重载;
(3)修饰变量:表示变量只能一次赋值以后值不能被修改(常量);
(4)修饰对象:对象的引用地址不能变,但是对象的初始化值可以变。

class Test {
  public static void main(String[] args) {
    final People people = new People("小郭plus1");
    people = new People("小郭plus1");//错误
 

1.6 权限修饰符的区别

类的访问权限只有两种:
public 公共的 可被同一项目中所有的类访问。 (必须与文件名同名)
default 默认的 可被同一个包中的类访问。
成员(成员变量或成员方法)访问权限共有四种:
public 公共的 可以被项目中所有的类访问。(项目可见性)
protected 受保护的 可以被这个类本身访问;同一个包中的所有其他的类访问;被它的子类(同一个包以及不同包
中的子类)访问。(子类可见性)
default 默认的被这个类本身访问;被同一个包中的类访问。(包可见性)
private 私有的 只能被这个类本身访问。(类可见性)

原创文章 10 获赞 7 访问量 249

猜你喜欢

转载自blog.csdn.net/qq_45772158/article/details/105869035