JavaSE 面向对象程序设计初级 2024方法变量封装javabean结合内存图详解

简介: JavaSE 面向对象程序设计初级 2024方法变量封装javabean结合内存图详解

Java面向对象初级

方法

return语句 结束方法

如何写方法

1.我要干什么

2.需要什么才能完成

3.是否返回 返回值是什么类型

方法的重载

多个方法

方法名相同但参数不同:个数 类型 顺序 那就可以方法重载

注意必须在同一个类里面

package com.mJane.method;
 
public class Demo01 {
    //main方法
    public static void main(String[] args) {
        //传入的实参为3个整型数据,匹配到第一个max方法
        int max_value1 = max(10,20);
        System.out.println(max_value1);
 
        //传入的实参为3个整型数据,匹配到第二个max方法,而不是第一个
        int max_value2 = max(10,25,7);
        System.out.println(max_value2);
 
        //传入的实参为2个浮点数,匹配到第三个max方法
//        int max_value3 = (int)max(10.0,30.0);   //返回值类型为double, 高-->低 : 强制转换
        double max_value3 = max(10.0,30.0);
        System.out.println(max_value3);
    }
  //第一个max方法
    public static int max(int num1,int num2){
        int result = 0;
        if (num1==num2){
            System.out.println("num1==num2");
            return 0;//终止该方法
        }
        if (num1>num2){
            result = num1;
        }else {
            result = num2;
        }
        return result;
    }
    //第二个max方法
    public static int max(int num1,int num2,int num3){
        int result = 0;
        if (num1>num2){
            result = num1;
        }else {
            result = num2;
        }
        return result > num3 ? result:num3;
    }
    //第三个max方法
    public static double max(double num1,double num2){
        double result = 0.0;
        if (num1==num2){
            System.out.println("num1==num2");
            return 0;//终止该方法
        }
        if (num1>num2){
            result = num1;
        }else {
            result = num2;
        }
        return result;
    }
}

java的内存分配

栈:方法

堆:new

栈是线性结构 堆是树状结构

方法区:存储可运行的class文件

本地方法

寄存器

面向对象编程

创建对象

Random r=new Random();
 
int date =r.nextInt(10)+1;

类名 对象名 = new 类名 ();

创建类

public class 类名{
    成员变量(属性)
    成员方法(行为)
}

拿到数值

赋值 使用

测试类 javabean类

类和对象的区别

:共同特征的描述

对象:真实存在的具体实例

封装

private关键字

权限修饰符 保证数据的安全性

get方法

对外提供值

set方法

赋值

空参构造:

变量为默认值

有参构造:

赋体

javaBean是什么

JavaBean(是java类)是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。

JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,通过set和get方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制(反射机制)发现和操作这些JavaBean 的属性。

用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

按着Sun公司的定义,JavaBean是一个可重复使用的软件组件。实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean。由于javabean是基于java语言的,因此javabean不依赖平台,具有以下特点:

1)可以实现代码的重复利用

2)易编写、易维护、易使用

3)可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。

编写javabean就是编写一个java的类,所以你只要会写类就能编写一个bean,这个类创建的一个对象称做一个bean。为了能让使用这个bean的应用程序构建工具(比如JSP引擎)知道这个bean的属性和方法,只需在类的方法命名上遵守以下规则:

1)如果类的成员变量的名字是xxx,那么为了更改或获取成员变量的值,即更改或获取属性,在类中可以使用两个方法:

getXxx(),用来获取属性xxx。

setXxx(),用来修改属性xxx.。

2)对于boolean类型的成员变量,即布尔逻辑类型的属性,允许使用"is"代替上面的"get"。

3)类中访问属性的方法都必须是public的,一般情况下属性是private的。

4)类中如果有构造方法,那么这个构造方法也是public的并且是无参数的。

标准的javabean

1.类名要见名知意

2.成员变量要用private修饰

3.两种构造方法都要用 空参构造 全参构造

4.get方法 set方法

5.成员方法

成员变量和局部变量

成员变量定义在类里面,方法外面

局部变量定义在方法里面

在类里面构造方法的格式

1.方法名于类名相同,大小写也要一致

2.没有返回值类型 写void

3.没有具体的返回值 不能由return带回结果数据

javabean类

测试类

this关键字

就近原则

this. 的作用

表示成员位置,不用成员位置,推翻就近原则

可以区分局部变量和成员变量

避免局部变量和成员变量重名

this. 的本质

所在方法调用者的地址值

内存图

目录
相关文章
|
4月前
|
缓存 算法 Java
Java面试题:深入探究Java内存模型与垃圾回收机制,Java中的引用类型在内存管理和垃圾回收中的作用,Java中的finalize方法及其在垃圾回收中的作用,哪种策略能够提高垃圾回收的效率
Java面试题:深入探究Java内存模型与垃圾回收机制,Java中的引用类型在内存管理和垃圾回收中的作用,Java中的finalize方法及其在垃圾回收中的作用,哪种策略能够提高垃圾回收的效率
41 1
|
22天前
|
机器学习/深度学习 算法 物联网
大模型进阶微调篇(一):以定制化3B模型为例,各种微调方法对比-选LoRA还是PPO,所需显存内存资源为多少?
本文介绍了两种大模型微调方法——LoRA(低秩适应)和PPO(近端策略优化)。LoRA通过引入低秩矩阵微调部分权重,适合资源受限环境,具有资源节省和训练速度快的优势,适用于监督学习和简单交互场景。PPO基于策略优化,适合需要用户交互反馈的场景,能够适应复杂反馈并动态调整策略,适用于强化学习和复杂用户交互。文章还对比了两者的资源消耗和适用数据规模,帮助读者根据具体需求选择最合适的微调策略。
|
21天前
|
缓存 监控 Java
在使用 Glide 加载 Gif 动画时避免内存泄漏的方法
【10月更文挑战第20天】在使用 Glide 加载 Gif 动画时,避免内存泄漏是非常重要的。通过及时取消加载请求、正确处理生命周期、使用弱引用、清理缓存和避免重复加载等方法,可以有效地避免内存泄漏问题。同时,定期进行监控和检测,确保应用的性能和稳定性。需要在实际开发中不断积累经验,根据具体情况灵活运用这些方法,以保障应用的良好运行。
|
1月前
|
C++
析构造函数就是为了释放内存,就是在局部指针消失前释放内存,拷贝构造函数就是以构造函数为模块,在堆里面新开一块,同一个变量在堆里面的地址
本文讨论了C++中构造函数和析构函数的作用,特别是它们在管理动态内存分配和释放中的重要性,以及如何正确地实现拷贝构造函数以避免内存泄漏。
37 2
|
3月前
|
Python
Python变量的作用域_参数类型_传递过程内存分析
理解Python中的变量作用域、参数类型和参数传递过程,对于编写高效和健壮的代码至关重要。正确的应用这些概念,有助于避免程序中的错误和内存泄漏。通过实践和经验积累,可以更好地理解Python的内存模型,并编写出更优质的代码。
31 2
|
4月前
|
存储 监控 安全
内存卡数据恢复,3个方法帮你找回丢失的照片和视频
今天,针对内存卡数据恢复,本期做一个详细的归纳,分析常见的数据丢失原因、详细的数据恢复步骤、以及如何保护内存卡数据。
内存卡数据恢复,3个方法帮你找回丢失的照片和视频
|
3月前
|
缓存 程序员
封装一个给 .NET Framework 用的内存缓存帮助类
封装一个给 .NET Framework 用的内存缓存帮助类
|
4月前
|
存储 C++ 运维
开发与运维数组问题之指针的定义语法如何解决
开发与运维数组问题之指针的定义语法如何解决
35 6
|
4月前
|
监控 安全 Java
JVM内存问题之排查Direct Memory泄漏有哪些常用方法
JVM内存问题之排查Direct Memory泄漏有哪些常用方法
115 2
|
3月前
|
存储 Java 图形学
UNITY性能优化☀️一、GC介绍与Unity内存管理方法
UNITY性能优化☀️一、GC介绍与Unity内存管理方法