当前位置: 首页 > news >正文

[正式学习java①]——java项目结构,定义类和创建对象,一个标准javabean的书写

目录

一、创建第一个java文件

二、 初始类和对象

三、符合javabean规范的类


一、创建第一个java文件

要想写代码,你得有文件啊

以前的创建方式:

右键新建文本文档,开始写代码,写完改后缀名,保存……这样文件一旦多了很难管理

现在我们要规范项目结构

每一个类就是一个java文件,每一个包存放很多java文件,每一个模块包括很多包,一个项目又包含多个模块。

我们现在可以把学习java基础的所有代码放到一个项目里,每天的代码看作一个模块,每天学习内容的分类看作包,就像我下面这样。

本机找到stringBuilder这个文件是这样的

现在,创建我的一个java文件,从哪开始啊?是不是项目啊

1.创建项目 file->new->project->next->next->起名就叫base_code

2.新建模块 file->project-struct->modules->点+,new modules

3.新建包  右键src new package

4.新建类 右键包 new class

命名要规范:类用大驼峰、方法和变量用小驼峰

 效果展示:

以后不管写什么,无论代码多短,我们都要规范项目的结构,不要新建一个文件夹完事

二、初识类和对象

1.初识类

有哪几种类

  • 测试类:拥有main函数的类,在这里用于测试其他的类
  • 具体类:可描述一个实体的类
  • 工具类:不能创建对象,只能使用里面的方法

 例如:定义一个学生类

public class Student {String name;//成员变量 默认初始化为nullint age;//默认初始化为0//成员方法public void study(){System.out.println("study~~");}
}

创建类的对象

public class Test {public static void main(String[] args) {Student s = new Student();//new关键字创建对象s.name = "xiaozhao";//调用属性s.age = 18;s.study();//调用方法}
}

对象的属性都是直接赋值的,如果有一天,你小手一抖,把年龄写成了180,那不完了嘛,如果你用if合法值判断,那每次赋值都要在这判断一下,那好笨。还有就是,我每次创建对象要挨个赋值,太麻烦了,就这样javabean诞生了

三、符合javabean规范的类

标准javaBean是定义一个类的标准结构

  • 私有化成员变量
  • 空参构造和有参构造
  • get和set方法

简单说一下权限修饰符 权限修饰符可作用于变量、方法、类

  • private: 其他类不能直接访问,只能在本类使用
  • 空着不写:本类、本包下的类能使用
  • protect:本类、本包下的类,其他包下的子类能使用
  • public:所有都能使用

构造方法概述:

  • 构造方法名必须同类名保持一致
  • 作用:给成员变量赋值的
  • 虚拟机为每个类自动添加空参构造,如果自己写了无参或带参构造,虚拟机就不会自动添加了
    private String name;private int age;public Student(){}public Student(String name, int age){this.name = name; //this表示调用者this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}

这样就可以直接调用带参构造方法创建对象啦

所有的判断也都可以放在set方法里面

    public static void main(String[] args) {Student s1 = new Student("xiaozhao", 18);//带参构造s1.study();Student s2 = new Student();//空参构造s2.setName("wuji");//set方法给name赋值s2.setAge(19);}

 以后我们要写一个具体的类就要符合JavaBean标准,按alt+insert快捷键可以自动生成JavaBean类的相关方法

四、总结:

java的项目结构

类有哪几种,它们的区别是什么,

一个标准的JavaBean包括什么,private 与 public修饰符的区别

构造方法的作用

为什么要私有化成员变量(提高代码的可维护性和可靠性)

成员变量与局部变量的区别

相关文章:

[正式学习java①]——java项目结构,定义类和创建对象,一个标准javabean的书写

目录 一、创建第一个java文件 二、 初始类和对象 三、符合javabean规范的类 一、创建第一个java文件 要想写代码,你得有文件啊 以前的创建方式: 右键新建文本文档,开始写代码,写完改后缀名,保存……这样文件一旦多了…...

day36

今日内容概要 进程基础(操作系统中的概念) 进程调度算法(四种算法) 进程的并行和并发的概念 同步异步阻塞非阻塞的概念 创建进程(进程类Process) Process类的参数 Process类的方法 如何开启多进程 基于TCP协议的高并发程序 进程基础 进程它是操作系统中最重要的概念…...

五. 激光雷达建图和定位方案-开源SLAM

前面内容: 一. 器件选型心得(系统设计)--1_goldqiu的博客-CSDN博客 一. 器件选型心得(系统设计)--2_goldqiu的博客-CSDN博客 二. 多传感器时间同步方案(时序闭环)--1 三. 多传感器标定方案&a…...

SAP MM学习笔记37 - 请求书照合中的 追加请求/追加Credit 等概念/ 请求书的取消

有关请求书照合,之前学习了一部分,现在再来学其中的一些概念。 其实这些概念也许并不常用,但是你又不能不知道,因为客户会问。 有关请求书,贴一些以前学习的文章,以方便阅读。 SAP MM学习笔记33 - 请求书…...

【C#】Winform实现轮播图

复制后,需要修改的代码: 1、图片文件夹路劲:string folderPath "C:\\Users\\Administrator\\Desktop\\images"; 2、项目命名空间:namespace BuildAction 全窗口代码: using System; using System.Colle…...

MyBatisPlus(十九)自动填充

说明 自动填充指的是,当数据被 插入 或者 更新 的时候,会为指定字段进行一些默认的数据填充。 比如,插入时,会自动填充数据的创建时间和更新时间;更新时,会自动填充数据的更新时间。 实现方式 配置处理器…...

设计模式_命令模式

命令模式 介绍 定义案例问题堆积在哪里解决办法 行为形设计模式 就是把 “发布命令 执行命令”细化为多个角色 每个角色又能继续细化 发布命令 1 打印1-9 a 打印A-G 如果有更多的命令 命令处理方式更加多样性 更复杂 处理命令的顺序拆分角色:降低耦合度 命令类&am…...

python接口自动化测试(六)-unittest-单个用例管理

前面五节主要介绍了环境搭建和requests库的使用,可以使用这些进行接口请求的发送。但是如何管理接口案例?返回结果如何自动校验?这些内容光靠上面五节是不行的,因此从本节开始我们引入python单元测试框架 unittest,用它…...

tomcat 服务器

tomcat 服务器 tomcat: 是一个开源的web应用服务器。区别nginx,nginx主要处理静态页面,那么动态请求(连接数据库,动态页面)并不是nginx的长处,动态的请求会交给tomcat进行处理。 nginx-----转发动态请求-…...

如果你有一次自驾游的机会,你会如何准备?

常常想来一次说走就走的自驾游,但是光是想想就觉得麻烦的事情好多:漫长的公路缺少娱乐方式、偏僻拗口的景点地名难以导航、不熟悉的城市和道路容易违章…… 也因为如此,让我发现了HUAWEI HiCar这个驾驶人的宝藏! 用HUAWEI HiCar…...

关于ts的keyof

type props_type {name: string,age: number }const props: props_type {name: tjq,age: 18 }for (const key in props) { //props[key]出现红色波浪线const value props[key]; }why? 经过我查阅多方资料,在网上看到一个比较合适的例子 地址&#xf…...

Go实现CORS(跨域)

引言 很多时候,需要允许Web应用程序在不同域之间(跨域)实现共享资源。本文将简介跨域、CORS的概念,以及如何在Golang中如何实现CORS。 什么是跨域 如果两个 URL 的协议、端口(如果有指定的话)和主机都相…...

第一章:变量和简单的数据类型

第一节 变量 variable(变量),每个变量指向一个值————与该变量相关联的信息 message"hello python world!" print(message) 1.1变量的命名和使用 1.变量名只能包含数字(0~9)、字母(Aa~Zz)和下划线(_)。变量可以使用字母和下划线作为开头&#xff0c…...

【初识Linux】:常见指令(2)

朋友们、伙计们,我们又见面了,本期来给大家解读一下有关Linux的基础知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通 数…...

“torch.load“中出现的“Unexpected key(s) in state_dict“报错问题

问题: 解决: 添加strictFalse,允许加载过程中出现不匹配的键。但请注意,仍然需要确保模型中的主要参数能够正确加载,以确保模型的有效性。 model.load_state_dict(state_dict) # 改为: model.load_state_dict(state…...

使用dasviewer加载osgb模型,不显示纹理,黑乎乎的怎么解决?

答:查看一下是不是点到快捷键切换成无纹理模式了。 DasViewer是由大势智慧自主研发的免费的实景三维模型浏览器,采用多细节层次模型逐步自适应加载技术,让用户在极低的电脑配置下,也能流畅的加载较大规模实景三维模型,提供方便快捷的数据浏览操作。#DasViewer##实景…...

Qtday01(qt简介、简单窗口组件)

今日任务 仿qq登录界面&#xff0c;QT实现 代码&#xff1a; 头文件&#xff1a; #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QLineEdit> #include <QLabel> #include <QPushButton> #include <QtDebug> #…...

【SA8295P 源码分析 (一)】41 - SA8295所有镜像位置、拷贝脚本、生成QFIL包 及 Fastboot 下载命令介绍

【SA8295P 源码分析】41 - SA8295所有镜像位置、拷贝脚本、生成QFIL包 及 Fastboot 下载命令介绍 一、SA8295 各镜像位置二、SA8295 QNX 侧镜像拷贝脚本三、SA8295 Android 侧镜像拷贝脚本四、使用QFIL 下载整包五、Fastboot 下载命令整理系列文章汇总见:《【SA8295P 源码分析…...

AtCoder abc130

F题提交了无数遍&#xff0c;最后发现是三分求解的写法错了 C - Rectangle Cutting 盲猜都在xy的中心点时可以无限分割&#xff0c;否则不能 D - Enough Array 前缀和二分求位置 E - Common Subsequence 公共子序列求有几种组合 设 d p [ i ] [ j ] dp[i][j] dp[i][j]代表s取到…...

数据库、数据中台、数据仓库、数据湖区别

数据时代&#xff0c;各行业的企业都已经开始通过数据库来沉淀数据&#xff0c;但是真的论起数据库、数据仓库、数据中台&#xff0c;还是新出现的数据湖&#xff0c;它们的概念和区别&#xff0c;可能知道的人就比较少了&#xff0c;今天我们详细来比较了解一下。 一、数据仓…...

缺失的数据范围,思维,hduoj

Problem Description 著名出题人小Q出过非常多的题目&#xff0c;在这个漫长的过程中他发现&#xff0c;确定题目的数据范围是非常痛苦的一件事。 每当思考完一道题目的时间效率&#xff0c;小Q就需要结合时限以及评测机配置来设置合理的数据范围。 因为确定数据范围是一件痛苦…...

极简的MapReduce实现

目录 1. MapReduce概述 2. 极简MapReduce内存版 3. 复杂MapReduce磁盘版 4. MapReduce思想的总结 1. MapReduce概述 以前写过一篇 MapReduce思想 &#xff0c;这次再深入一点&#xff0c;简单实现一把单机内存的。MapReduce就是把它理解成高阶函数&#xff0c;需要传入map和…...

更新暑假做过的项目(医学数据多标签分类与多标签分割,医学数据二分类)

写在前面 暑假参与了两个项目&#xff0c;收获颇多。搭建网络有许多走过的弯路与经验&#xff0c;调参也是一个必要的技能&#xff0c;在这里想一并分享给大家我在项目中积累的经验和一些小技巧。 PS&#xff1a;结合个人经验与网上经验&#xff0c;大家斟酌自取。 下面的几个…...

谷歌浏览器访问127.0.0.1时报错 Failed to read the ‘sessionStorage‘ property from ‘Window‘

谷歌浏览器访问 127.0.0.1 时报错如下&#xff1a; Uncaught DOMException: Failed to read the ‘sessionStorage’ property from ‘Window’: Access is denied for this document. 原因&#xff1a; 谷歌浏览器设置中禁止了 127.0.0.1 存储数据到浏览器设备上 解决方法…...

云技术分享 | 快速构建 CodeWhisperer 代码生成服务,让 AI 辅助编程

前言 Amazon CodeWhisperer 是 2023 年 4 月份发布的一款通用的、机器学习驱动的代码生成器服务&#xff0c;CodeWhisperer 经过数十亿行 Amazon 和公开可用代码的训练&#xff0c;可以理解用自然语言&#xff08;英语&#xff09;编写的评论&#xff0c;可在集成式开发环境 (…...

开发万岳互联网医院APP:技术要点和关键挑战

随着移动技术和互联网的飞速发展&#xff0c;互联网医院APP成为医疗领域的一项重要创新。这些应用程序为患者和医生提供了更多便利和互动性&#xff0c;但开发互联网医院APP也伴随着一系列的技术要点和关键挑战。本文将探讨互联网医院APP的技术要点以及在开发过程中需要面对的挑…...

漫谈下一代防火墙与Web应用防火墙的区别

如今&#xff0c;Web应用程序变得越来越复杂&#xff0c;更是黑客非常感兴趣的目标。在谈到网络安全的话题时&#xff0c;我们总会讨论下一代防火墙与Web应用防火墙的区别。当已经拥有下一代防火墙&#xff08;NGFW&#xff09;时&#xff0c;为什么需要Web应用程序防火墙&…...

基于马尔可夫随机场的图像去噪算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、马尔可夫随机场的基本原理 4.2、基于马尔可夫随机场的图像去噪算法 5.算法完整程序工程 1.算法运行效果图预览 原图&#xff1a; 加入噪声的图像&#xff1a; 滤波后的图像 迭代过程…...

【综合类型第 39 篇】HTTP 状态码详解

这是【综合类型第 39 篇】&#xff0c;如果觉得有用的话&#xff0c;欢迎关注专栏。 注&#xff1a; 本篇博客只是在「阿里云开发者社区版 HTTP 状态码详解」中按自己的写作风格做了断句&#xff0c;归纳整理&#xff0c;方便查看和阅读。 尊重原创&#xff0c;原文链接&…...

win10 hosts文件修改不生效

解决办法可以参考&#xff1a;修改hosts 不生效? 三种方法解决...

怎样给网站做新闻稿子/网络流量分析工具

强大的AsposeWords for java不仅支持创建表格&#xff0c;还支持合并单元格。今天就简明扼要记录下如何实现合并单元格。大家可以完全套用本文提供的代码&#xff0c;只需要提供开始和结束的单元格即可实现合并&#xff0c;无需理解复杂的过程&#xff0c;真是简洁好用啊。此代…...

上海网站建设就q479185700顶上/网推项目平台

本文转载自https://www.jianshu.com/p/79aba394a561...

低价格的网站建设公司/seo词条

前言 我们在工作或学习过程中&#xff0c;有许多时候会接触到 Linux&#xff0c;然后便想要自己亲自试试这个系统&#xff0c;但苦于没有系统学习过&#xff0c;所以想要打造自己的工作环境难免会遇到许多困难。为了防止大家踩我踩过的坑&#xff0c;才有了这篇博客。本博客将…...

刷赞网站建设/单页网站seo优化

组合模式是一种结构型设计模式&#xff0c;它以树形结构来组合对象&#xff0c;以达到表示部分-整体的层次结构&#xff0c;并且可以使客户端统一处理单个对象和组合对象。 在组合模式中&#xff0c;有两种基本类型的对象&#xff1a;叶子节点和组合节点。叶子节点表示不能再被…...

wordpress移动导航插件/关键词seo优化排名

文件路径&#xff1a;/u01/app/oracle/diag/rdbms/oracle/oracle/trace 删除下面的日志文件&#xff1a;/u01/app/oracle/diag/rdbms/oracle/oracle/alert 不能删除log.xml文件&#xff0c;删除命令&#xff1a;rm rf log_*.xml...

支付宝网站支付接口/防恶意竞价点击软件

1.js是个有点儿松散的脚本语言,也就是说你不能用固有的思维方式去认识它,而是要不断地质疑它,验证它!就像生活总会有很多意外一样!呵呵呵 2.原因:主要是历史上原因吧! 3.js 中可以把 Function 函数当成一个数据类型 ,具体的函数当成Function的实例对象!转载于:https://www.cnbl…...