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. 的本质

所在方法调用者的地址值

内存图

目录
相关文章
|
6天前
|
Java
JavaSE 面向对象程序设计进阶 继承和方法重写 2024理论与内存详解
JavaSE 面向对象程序设计进阶 继承和方法重写 2024理论与内存详解
12 3
|
2天前
|
Java 程序员 Linux
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
10 0
|
6天前
|
存储 Java
JavaSE 面向对象程序设计初级 静态static 包package 常量final 代码块 代码实操理论内存原理详解
JavaSE 面向对象程序设计初级 静态static 包package 常量final 代码块 代码实操理论内存原理详解
10 0
|
14天前
|
消息中间件 存储 Kafka
实时计算 Flink版产品使用问题之 从Kafka读取数据,并与两个仅在任务启动时读取一次的维度表进行内连接(inner join)时,如果没有匹配到的数据会被直接丢弃还是会被存储在内存中
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6天前
|
存储 Java C++
Java虚拟机(JVM)管理内存划分为多个区域:程序计数器记录线程执行位置;虚拟机栈存储线程私有数据
Java虚拟机(JVM)管理内存划分为多个区域:程序计数器记录线程执行位置;虚拟机栈存储线程私有数据,如局部变量和操作数;本地方法栈支持native方法;堆存放所有线程的对象实例,由垃圾回收管理;方法区(在Java 8后变为元空间)存储类信息和常量;运行时常量池是方法区一部分,保存符号引用和常量;直接内存非JVM规范定义,手动管理,通过Buffer类使用。Java 8后,永久代被元空间取代,G1成为默认GC。
18 2
|
10天前
|
存储
数据在内存中的存储(2)
数据在内存中的存储(2)
24 5
|
10天前
|
存储 小程序 编译器
数据在内存中的存储(1)
数据在内存中的存储(1)
27 5
|
10天前
|
存储 安全 Java
SpringSecurity6从入门到实战之初始用户如何存储到内存
Spring Security 在 SpringBoot 应用中默认使用 `UserDetailsServiceAutoConfiguration` 类将用户信息存储到内存中。当classpath有`AuthenticationManager`、存在`ObjectPostProcessor`实例且无特定安全bean时,此配置生效。`inMemoryUserDetailsManager()`方法创建内存用户,通过`UserDetails`对象填充`InMemoryUserDetailsManager`的内部map。若要持久化到数据库,需自定义`UserDetailsService`接口实
|
9天前
|
存储 编译器 C语言
数据在内存中的存储
数据在内存中的存储
17 2
|
9天前
|
存储
数据在内存中的存储(了解数据在内存中的存储规则,看这一篇就够了!)
数据在内存中的存储(了解数据在内存中的存储规则,看这一篇就够了!)