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.无论是否使用,都建议手写无参构造方法

相关推荐
XiaoLeisj2 小时前
【JavaEE初阶 — 多线程】单例模式 & 指令重排序问题
java·开发语言·java-ee
paopaokaka_luck2 小时前
【360】基于springboot的志愿服务管理系统
java·spring boot·后端·spring·毕业设计
dayouziei2 小时前
java的类加载机制的学习
java·学习
励志成为嵌入式工程师3 小时前
c语言简单编程练习9
c语言·开发语言·算法·vim
捕鲸叉3 小时前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer3 小时前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
Peter_chq3 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
Yaml44 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍
小小小妮子~4 小时前
Spring Boot详解:从入门到精通
java·spring boot·后端
hong1616884 小时前
Spring Boot中实现多数据源连接和切换的方案
java·spring boot·后端