Java面向对象(上)

本文介绍了面向对象编程的基本概念,包括面向过程与面向对象的区别,以及类与对象的定义和关系。深入讲解了类的定义、对象的创建与使用,强调了成员变量与局部变量的区别。同时,阐述了包和访问控制的重要性,如包的作用、import关键字的使用以及四种访问权限的意义。封装作为面向对象三大特性之一,文章解释了封装的目的、实现方式及其优点。最后,详细讨论了如何在Java中实现封装,并给出了实例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.面对对象编程

面向过程: 分析出解决问题所需要的步骤,然后用函数把这些步骤一一实现,通过依次调用函数来解决问题

面向对象: 分析问题涉及哪些对象(事物),然后通过调用对象的方法(行为)来解决问题。

2.类与对象

:类是某类群体基本特征的抽象,它只是一个模板,不是客观存在的具体事物。

对象:客观存在的事物都是对象。( 万物皆对象)

类和对象的区别:类是抽象的概念,仅仅代表事物的模板,比如说“女朋友”、“学生”。 对象是指具体的事物,一个能够“看得到,摸得着的”具体的实体,比如石榴姐。

类与对象的关系: 类是具有相同特征(属性)和行为(方法)的一组对象的集合(一个类可对应多个对象)。

类的定义:

class 类名{
   成员变量;
   成员方法;
}

可以理解为:自定义的数据类型

对象的创建与使用:

创建:

类名 对象名称 = null;//声明对象
对象名称 = new 类名();//实例化对象

类名 对象名称 = new 类名();//声明对象的同时实例化对象

使用:

对象名称.属性名

对象名称.方法名

例如,创建Student类的实例对象,示例代码如下: Student stu = new Student();

上述代码中,new Student() 用于创建Student类的一个实例对象,Student stu则是声明了一个Student类型的变量stu。运算符 “=”将新创建的Student对象地址赋值给变量stu,变量stu引用的对象简称为stu对象。

成员变量和局部变量不同:

对象的引用传递:

如果想进行引用传递分析,那么首先需要先清楚两块内存。

(1)堆内存:堆内存可以理解为一个对象的具体信息,每一个对象保存的只是属性信息,每一块堆内存的开辟都要通过关键字 new 来完成。

(2)栈内存:可以理解为一个整型变量( 只能够保存一个数值 ),其中保存的是一块( 只能保存一块 )堆内存空间的内存地址数值,为了方便理解,可以假设其保存的是对象的名字。

先通过对象的实例化操作了解内存分配。

包和访问控制:

包(package)  

 为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。

包的作用

1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。

2、包可以避免名字冲突。 

包语句的语法格式为:    package pkg1[.pkg2[.pkg3…]];

例子:    package  com.qq.news;  

 package  com.qq.sports;

import

关键字 为了能够使用某一个包的成员,我们需要在 Java 程序中明确导入该包。使用 "import" 语句可完成此功能。

在 java 源文件中 import 语句应位于 package 语句之后,所有类的定义之前,可以没有,也可以有多条,其语法格式为:     import package1[.package2…].(classname|*); 如果在一个包中,一个类想要使用本包中的另一个类,那么该包名可以省略。

注意:  

  类文件中可以包含任意数量的 import 声明。import 声明必须在包声明之后,类声明之前。

四种访问权限:

4种访问控制权限,具体介绍如下。

(1)private(当前类访问级别):private属于私有访问权限,用于修饰类的属性和方法。类的成员一旦使用了private关键字修饰,则该成员只能在本类中进行访问。

(2)default:如果一个类中的属性或方法没有任何的访问权限声明,则该属性或方法就是默认的访问权限,默认的访问权限可以被本包中的其它类访问,但是不能被其他包的类访问。

(3)protected:属于受保护的访问权限。一个类中的成员使用了protected访问权限,则只能被本包及不同包的子类访问。

(4)public:public属于公共访问权限。如果一个类中的成员使用了public访问权限,则该成员可以在所有类中被访问,不管是否在同一包中。

封装:

封装:是将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

为什么要封装:

封装可以被认为是一个保护屏障,防止本类的代码和数据被外部类定义的代码随机访问。

怎样实现封装:

    (1)属性私有化

    (2)定义公共的setter和getter方法

封装的优点

  • 1. 良好的封装能够减少耦合。

  • 2. 类内部的结构可以自由修改。

  • 3. 可以对成员变量进行更精确的控制。

  • 4. 隐藏信息,实现细节。

实现java封装的步骤:

public class Person

{ private String name;

private int age; }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅龙龙lsx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值