03JAVA基础(方法/类/封装(构造方法))

目录

1.方法

[1.1 方法的定义](#1.1 方法的定义)

[1.2 方法的重载](#1.2 方法的重载)

2.类和对象

3.封装

[1. private关键字](#1. private关键字)

[2. this关键字](#2. this关键字)

[3. 封装](#3. 封装)

[4. 构造方法](#4. 构造方法)


1.方法

含义: 将具有独立功能的代码块组织成一个整体,具有特殊功能的代码集

注意: 方法必须先创建才可以使用,需要手动调用执行

1.1 方法的定义

格式: public static void 方法名(参数1){

//方法体

}

方法的调用: 方法名(参数2);

|------|---------|-----|
| 参数类型 | 位置 | 实例 |
| 形参 | 方法定义的参数 | 参数1 |
| 实参 | 方法调用的参数 | 参数2 |

带返回值方法的格式: public static 数据类型 方法名(参数1){

return 数据;

}

接受方法返回值的类型要与定义数据类型一致

方法的注意事项:

1.方法不能嵌套

2.void代表物返回值,可以省略return,也可以写,后面后面不加数据

1.2 方法的重载

方法重载:

多个方法在同一个类

多个方法具有同一个名字

多个方法的参数不相同,类型不同或者数量不同

注意: 方法参数的传递过程中

对基本数据类型,形式参数的改变不影响实际参数的值(存储在栈内存)

对引用数据类型,形参的改变影响实际参数的值(存储在堆内存)

实例: public class a(){

public static void mian(String[] args){

int number = 10;

System.out.println("调用前"+number); //10

change(number)

System.out.println("调用后"+number); //10

}

public static void change(int number){

number +=number; // 20

}

}

2.类和对象

类:一类具有共同属性和行为的事物的抽象,确定对象拥有的属性和行为

类的组成: 属性和行为

属性: 在类中通过成员变量来体现

行为: 在类中通过成员方法来体现(去掉static关键字)

类的定义:

public class 类名{

//成员变量

数据类型 变量1;

//成员方法

方法1;

}

对象的使用:

创建对象格式: 类名 对象名 = new 类名();

使用成员变量: 对象名.变量名

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

|------|----------|------|-----------|
| 变量 | 解释 | 内存位置 | 生命周期 |
| 成员变量 | 类中方法外的变量 | 堆内存 | 随着对象存在而存在 |
| 局部变量 | 方法中的变量 | 栈内存 | 随着方法调用而存在 |

3.封装

1. private关键字

1.是权限修饰符

2.可以修饰成员(成员变量和成员方法)

3.作用保护成员不在别的类使用,private修饰只能在本类中使用

针对private修饰成员变量,要被其它类使用.

1.提供get变量名()获取变量成员的值

2.提供set变量名(参数)方法用于设置成员变量的值

2. this关键字

this修饰的变量用于代指成员变量

方法的形参和成员变量同名,如果不加this的变量,指的是形参

this代表所在类的对象引用

作用:

解决局部变量隐藏成员变量

实例:

public class Student{

private String name; // 加this指的是这个name

public void setName(String name){

this.name = name;

}

}

3. 封装

1.概念:

将成员变量隐藏在类的内部,外界无法直接操作

2.封装原则

将类的信息隐藏在类内部,不允许外部程序直接访问,通过类提供的方法来实现对隐藏信息的操作和访问成员变量private,提供对应的getXx/setXx()方法

3.封装好处

通过方法来控制成员变量的操作,提高了代码的安全性

把代码用方法进行封装,提高了代码的复用性

4. 构造方法

构造方法是一中特殊的方法

作用:创建对象

格式:

public class 类名{

修饰符 类名 (参数){

}

}

功能: 完成对象数据的初始化

注意:

1.如果没有定义构造方法,系统会给出一个默认的无参构造方法

2.如果定义了构造方法,系统将不提供默认的构造方法

3.如果定义了带参数的构造方法,想使用无参构造方法,就必须在写一个无参构造

4.无论是否使用,都建议手写无参构造方法

相关推荐
bzmK1DTbd20 分钟前
Git版本控制:Java项目中的分支管理与合并策略
java·开发语言·git
Rust研习社30 分钟前
为什么 Rust 没有空指针?
开发语言·后端·rust
kyriewen1138 分钟前
WebAssembly:前端界的“外挂”,让C++代码在浏览器里跑起来
开发语言·前端·javascript·c++·单元测试·ecmascript
JWASX2 小时前
【RocketMQ 生产者和消费者】- 事务源码分析(1)
java·rocketmq·java-rocketmq
其实防守也摸鱼3 小时前
CTF密码学综合教学指南--第九章
开发语言·网络·python·安全·网络安全·密码学·ctf
砚底藏山河3 小时前
Python量化开发:2026最佳实时股票数据API接口推荐与对比
开发语言·windows·python
AlunYegeer3 小时前
JAVA,以后端的视角理解前端。在全栈的路上迈出第一步。
java·开发语言·前端
hixiong1234 小时前
C# OpenvinoSharp使用DINOv2模型进行图像相似度计算
开发语言·c#
DFT计算杂谈4 小时前
自动化脚本一键绘制三元化合物相图
java·运维·服务器·开发语言·前端·python·自动化
2301_771717215 小时前
Spring Boot 自动配置核心注解
java·spring boot·mybatis