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

相关推荐
2401_857439691 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna2 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
xlsw_2 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
神仙别闹3 小时前
基于java的改良版超级玛丽小游戏
java
Dream_Snowar3 小时前
速通Python 第三节
开发语言·python
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭3 小时前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
暮湫3 小时前
泛型(2)
java
超爱吃士力架3 小时前
邀请逻辑
java·linux·后端
南宫生3 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
转码的小石4 小时前
12/21java基础
java