面向对象:基础(上)

一、面向对象的概述:面向对象与面向过程的区别

1.面向过程 :强调的是过程。也就是说完成功能的每一个步骤都需要自己来做
2.面向对象:强调的是对象。也就是说由对象去帮我们完成具体的功能
3.例如:吃烤鸭:
面向过程:买一只小鸭苗→买点饲料→开始养大→杀掉→拔毛→烤熟→开吃→洗刷餐具
面向对象:去烤鸭店点一份烤鸭→开吃

二、面向对象的好处

1.将复杂的事情简单化
2.更符合人们思想习惯的思想(懒人思想)
3.将程序员由执行者变成了指挥者

三、面向对象三大特征

封装

封装是面向对象的核心思想,将对象的属性和行为封装起来,不需要让外界知道具体实现细节。

继承

继承主要描述的就是类与类之间的关系,通过继承,可以在无需重新编写原有类的情况下,对原有类的功能进行扩展。

多态

多态指的是在一个类中定义的属性和功能被其他类继承后,当把子类对象直接赋值给父类引用变量时,相同引用类型的变量调用同一个方法所呈现出的多种不同行为特性。

四、类与对象的关系

1.什么是类?
是一种抽象的泛泛的概念。是事物的属性和行为的一种集合。
例如:动物类、水果类、汽车类… .

2.什么是对象?
对象就是指某一类事物的具体体现。
例如:动物类(猫、狗、图…)、水果类(苹果、香蕉、橘子…)

类的定义

1.在面向对象的思想中,最核心的就是对象。

2.为了在程序中创建对象,首先需要定义一个类。.

3.类是对象的抽象,它用于描述一组对象的共同特征和行为,例如人都有姓名、年龄、性别等特征,还有学习、工作、购物等行为。

4.以面向对象的编程思想,就可以将某- -类中共同的特征和行为封装起来,把共同特征作为类的属性(也叫成员变量),把共同行为作为类的方法(也叫成员方法)。

public class Person{
	//成员变量
	String name;	//人的姓名
	int age;		//人的年龄

	//成员方法
	/*
	 *权限修饰符返回值类型方法名(数据类型参数名1,数据类型参数名2...) {
	 *方法体
	 *return 返回值;
	 *}
	 */
	//例如吃饭 代码不全
	public void eat(String food){
	Sytem.out.println(name + "正在吃" + food);
	}
}

类的使用:

1.创建对象

类名 对象名 = new 类名();

2.使用成员

使用成员变量:对象名.变量名
使用成员方法:对象名.方法名()

3.成员变量的默认初始化值

整数类型:0
浮点类型:0.0
字符类型:空白字符 '\u0000 ’
布尔类型: false

4.局部变量和成员变量

访问特点: java遵守的是就近原则,谁离我近我就优先使用谁。

成员变量和局部变量的区别:
A:定义位置
成员变量:定义在类中方法外
局部变量:定义在方法的内部或者方法的声明上

B:内存中的位置
成员变量:在堆内存中
局部变量:在栈内存中

C:声明周期的区别
成员变量:随着对象的创建而创建,随着对象的消失而消失
局部变量:随着方法的调用而创建,随着方法的消失而消失

D:默认初始化值的区别
成员变量:有默认的初始化值
局部变量:没有默认初始化值,使用之前必须赋值

5.堆内存垃圾的形成和解决

如果一个对象没有任何引用指向它了,那么就会变成垃圾。由垃圾回收器自动进行回收。

访问修饰符

在Java中,针对类、成员方法和属性提供了四种访问级别,分别是private、default、protected、public(访问控制级别依次由小到大)。

1.四种访问控制级别说明:

●private (当前类访问级别):如果类的成员被private访问控制符来修饰,则这个成员只能被该类的其他成员访问,其他类无法直接访问。类的良好封装就是通过private关键字来实现的。

●default(包访问级别):如果一个类或者类的成员不使用任何访问控制符修饰,则称它为默认访问控制级别,这个类或者类的成员只能被本包中的其他类访问。

●protected (子类访问级别):如果一个类的成员被protected访问控制符修饰,那么这个成员既能被同一包下的其他类访问,也能被不同包下该类的子类访问。

●public (公共访问级别):这是一个最宽松的访问控制级别,如果一个类或者类的成员被public访问控制符修饰,那么这个类或者类的成员能被所有的类访问,不管访问类与被访问类是否在同一个包中。

2.通过一个表将这四种访问级别更加直观的表示出来

访问范围privatedefaultprotectedpublic
同一类中
同一包中
子类中
全局范围
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值