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

相关推荐
重生之我在20年代敲代码11 分钟前
strncpy函数的使用和模拟实现
c语言·开发语言·c++·经验分享·笔记
爱上语文13 分钟前
Springboot的三层架构
java·开发语言·spring boot·后端·spring
serve the people16 分钟前
springboot 单独新建一个文件实时写数据,当文件大于100M时按照日期时间做文件名进行归档
java·spring boot·后端
qmx_071 小时前
HTB-Jerry(tomcat war文件、msfvenom)
java·web安全·网络安全·tomcat
为风而战1 小时前
IIS+Ngnix+Tomcat 部署网站 用IIS实现反向代理
java·tomcat
编程零零七2 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
技术无疆3 小时前
快速开发与维护:探索 AndroidAnnotations
android·java·android studio·android-studio·androidx·代码注入
2401_858286113 小时前
52.【C语言】 字符函数和字符串函数(strcat函数)
c语言·开发语言
铁松溜达py3 小时前
编译器/工具链环境:GCC vs LLVM/Clang,MSVCRT vs UCRT
开发语言·网络
everyStudy3 小时前
JavaScript如何判断输入的是空格
开发语言·javascript·ecmascript