Java构造函数与普通函数

 1.概解

tips:

1.声明函数主要用public/private,public可以在其他函数中访问。

2.public后面跟函数返回类型,void表示无返回值。

3.main函数是自动执行的构造函数,而其他函数除非被调用则不会被自动执行 

运行结果:

这里看到虽然我们只是想用login函数的返回值,但是他仍然打印了“登入成功”,这说明只要调用函数,那么会把一整个函数都执行一遍

但如果不主动调用其他函数:

package java基础;public class java_02 {public static void main(String[] args) {A a = new A();System.out.println("a");}
}
class A{public int login(){System.out.println("登录成功");return 1;}}

则不会执行login函数,输出结果(输出的是字符串a):

4.java文件的第一个类为public公共类,java有且只有一个公共类。但是所有类里面都可以写公共函数。

2.变量调用

如果想在main中调用类A中的login函数中的b变量,这样写是会报错的,因为没有办法这样去访问:

那怎么访问呢?

1.把b添加到类A的成员变量里:

class A {String b; // 成员变量public int login() {System.out.println("登录成功");this.b = "123"; // 赋值给成员变量return 1;}
}public class java_02 {public static void main(String[] args) {A a = new A();a.login(); // 必须先调用 login() 初始化 bSystem.out.println(a.b); // 访问成员变量 b}
}

2. 返回多个值:

class LoginResult {int status;                                        //定义变量String b;public LoginResult(int status, String b) {        //构造函数传参,在new时就会被调用   this.status = status;                         //为类成员变量赋值this.b = b;}
}class A {public LoginResult login() {System.out.println("登录成功");String b = "123";return new LoginResult(1, b);                 // 向LoginResult传参然后返回封装的对象}
}public class java_02 {public static void main(String[] args) {A a = new A();LoginResult result = a.login();                //定义对象并赋值System.out.println(result.b);                 // 访问 b}
}

 3.详解

1.**构造方法(Constructor)** 和 **普通方法(Method)** 的区别:

1. 构造方法(Constructor)


- **名字必须和类名完全一致**(包括大小写)。  
- **没有返回类型**(连 `void` 都不能写)。  
- **用于初始化对象**(`new` 的时候自动调用)。  

✅ **正确示例**:

class A {// 构造方法,名字必须 = 类名(A)public A() {System.out.println("A的构造方法被调用");}
}


调用方式:

A a = new A(); // 自动调用 A() 构造方法


2. 普通方法(Method)

✅ **正确示例**:

class A {// 普通方法,名字可以任意(如 login)public void login() {System.out.println("登录方法");}
}


调用方式:

A a = new A();
a.login(); // 手动调用 login() 方法

2.变量赋值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/42381.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL: 创建两个关联的表,用联表sql创建一个新表

MySQL: 创建两个关联的表 建表思路 USERS 表:包含用户的基本信息,像 ID、NAME、EMAIL 等。v_card 表:存有虚拟卡的相关信息,如 type 和 amount。关联字段:USERS 表的 V_CARD 字段和 v_card 表的 v_card 字段用于建立…

A2 最佳学习方法

记录自己想法的最好理由是发现自己的想法,并将其组织成可传播的形式 (The best reason for recording what one thinks is to discover what one thinks and to organize it in transmittable form.) Prof Ackoff 经验之谈: 做培训或者写文章&#xff…

六十天前端强化训练之第三十二天之Babel 转译配置大师级深度讲解

欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗,谢谢大佬! 目录 一、核心概念与知识体系详解 1. Babel 工作原理全景解析 二、完整配置方案(带详细注释) 1. 进阶版 .babelrc 配置 2. Webpack 集成配置&#xff08…

Linux 下安装和使用 Jupyter Notebook

Jupyter Notebook / Lab 是 Python 开发和数据分析中不可或缺的工具。为了避免环境污染,推荐使用虚拟环境方式安装并启动它。本教程将教你如何: 安装 Python、pip、venv使用虚拟环境安装 Jupyter设置登录密码启动并远程访问编写一个一键启动脚本&#x…

【云成本优化案例】K8s计费探针让跨境电商企业节省30%云预算

01. 财务“谜案”:消失的30%云预算 "我们的K8s集群资源利用率高达78%,但业务部门总说云账单对不上。"某跨境电商企业CTO的报案记录,揭开了一场云原生时代的财务谜案。该企业技术团队自查了所有资源配额和HPA配置,却始…

PyTorch 分布式训练(Distributed Data Parallel, DDP)简介

PyTorch 分布式训练(Distributed Data Parallel, DDP) 一、DDP 核心概念 torch.nn.parallel.DistributedDataParallel 1. DDP 是什么? Distributed Data Parallel (DDP) 是 PyTorch 提供的分布式训练接口,DistributedDataPara…

蓝桥杯[每日一题] 真题:连连看

题目描述 小蓝正在和朋友们玩一种新的连连看游戏。在一个 n m 的矩形网格中,每个格子中都有一个整数,第 i 行第 j 列上的整数为 Ai, j 。玩家需要在这个网格中寻找一对格子 (a, b) − (c, d) 使得这两个格子中的整数 Aa,b 和 Ac,d 相等,且它…

Linux环境下安装部署Docker

windows下连接Linux: 打开终端: //ssh远程连接 ssh root192.168.xx.xx//输入账号密码 root192.168.xx.xxs password: ssh连接成功! 安装Docker: //安装Docker yum install -y yum-utils device-mapper-persistent-data lvm2 …

k近邻算法K-Nearest Neighbors(KNN)

算法核心 KNN算法的核心思想是“近朱者赤,近墨者黑”。对于一个待分类或预测的样本点,它会查找训练集中与其距离最近的K个样本点(即“最近邻”)。然后根据这K个最近邻的标签信息来对当前样本进行分类或回归。 在分类任务中&#…

Appium中元素定位之一个元素定位API

应用场景 想要对按钮进行点击,想要对输入框进行输入,想要获取文本框的内容,定位元素是自动化操作必须要使用的方法。只有获取元素之后,才能对这个元素进行操作。 在 Java 中使用 Appium 定位元素时,可以通过多种方式…

Dify 服务器部署指南

1. 系统要求 在开始部署之前,请确保你的服务器满足以下要求: 操作系统:Linux(推荐使用 Ubuntu 20.04 或更高版本)内存:至少 4GB RAM存储:至少 20GB 可用空间网络:稳定的互联网连接…

Sa-Token

简介 Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。 官方文档 常见功能 登录认证 本框架 用户提交 name password 参数,调用登…

ADZS-ICE-2000和AD-ICE2000仿真器在线升级固件

作者的话 近期发现有些兄弟的ICE-2000仿真器链接DSP报错,然后test第四步不通过,我就拿我的仿真器也试了一下,发现ADI悄咪咪的在线升级仿真器固件,有些兄弟不会操作,就会导致仿真器升级失败,连不上目标板&a…

C++概述

1 什么是面向对象】 概念上来说:就是以对象(具体的变量)为导向的编程思路 专注于:一个对象具体能实现哪些过程(哪些功能) 面向对象 n * 面向过程 结论:面向对象需要做的事情 1:我们要想清楚,我们现在需要编写一个…

Java 大视界 -- 基于 Java 的大数据隐私计算在医疗影像数据共享中的实践探索(158)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

数字化如何赋能食品抽检全流程升级,助力食品安全监管现代化

食品安全是关乎民众健康和社会稳定的重要问题。食品抽检作为保障食品安全的核心监管手段,通过对食品生产、加工、销售等环节的随机抽样检测,及时发现潜在的食品安全问题,防止不合格产品流入市场,同时为政府监管、企业自查和消费者…

HBase入门教程

HBase入门教程 HBase是一个开源的、分布式的、版本化的非关系型数据库,是Apache Hadoop生态系统的重要组成部分。本文将全面介绍HBase的基础知识,帮助你快速入门。 文章目录 HBase入门教程1. HBase简介1.1 什么是HBase?1.2 HBase核心特点 2.…

vscode连接服务器失败问题解决

文章目录 问题描述原因分析解决方法彻底删除VS Code重新安装较老的版本 问题描述 vscode链接服务器时提示了下面问题: 原因分析 这是说明VScode版本太高了。 https://code.visualstudio.com/docs/remote/faq#_can-i-run-vs-code-server-on-older-linux-distribu…

redis常用部署架构之redis分片集群。

redis 3.x版本后开始支持 作用: 1.提升数据读写速度 2..提升可用性 分片集群就是将业务服务器产生的数据储存在不同的机器上。 redis分片集群的架构 如上图所示,会将数据分散存储到不同的服务器上,相比于之前来说,redis要处…

Modbus主站EtherNet/IP转ModbusRTU/ASCII工业EIP网关串口服务器

型号 2路总线EIP网关 MS-A1-2021 4路总线EIP网关 MS-A1-2041 4路总线EIP网关(双网口) MS-A2-2041 8路总线EIP网关 MS-A1-2081 8路总线EIP网关(双网口) MS-A2-2081 EtherNet/IP 串口网关 EtherNet/IP 转 RS485 …