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

news2024/12/23 9:46:48

目录

一、创建第一个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;//成员变量 默认初始化为null
    int 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:所有都能使用

注意:

  • 构造方法名必须同类名保持一致
  • 虚拟机为每个类自动添加空参构造,其实上面new Student()是调用了空参构造,这个空参构造就是虚拟机给我们加上的。
    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修饰符的区别

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c语言从入门到实战——C语言数据类型和变量

C语言数据类型和变量 前言1. 数据类型介绍1.1 字符型1.2 整型1.3 浮点型1.4 布尔类型1.5 各种数据类型的长度1.5.1 sizeof操作符1.5.2 数据类型长度1.5.3 sizeof中表达式不计算 2. signed 和 unsigned3. 数据类型的取值范围4. 变量4.1 变量的创建4.2 变量的分类 5. 算术操作符&…

竞赛 深度学习OCR中文识别 - opencv python

文章目录 0 前言1 课题背景2 实现效果3 文本区域检测网络-CTPN4 文本识别网络-CRNN5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习OCR中文识别系统 ** 该项目较为新颖,适合作为竞赛课题方向,…

如何管理嵌入式开发中产生的数字资产?ACT汽车电子与软件技术周演讲回顾

2023 ATC汽车电子与软件技术周已于8月18日在中国上海落下帷幕。展会现场,龙智技术支持部负责人、Atlassian认证专家叶燕秀与龙智技术工程师邱洁玉共同为观众带来了主题为“更好、更快、更安全:嵌入式开发中的最佳实践与工具链构建”的演讲,分…

UE5射击游戏案例蓝图篇(一)

一、使用到的资源 1.小白人动画包 2.基础武器包 3.虚幻商城免费的模型包 二、角色创建 1.以Character为基类创建出需要的角色,双击打开之后并在已有组件的基础上,添加摄像机臂和摄像机两个组件。添加完成之后可以根据自己的需要调整摄像机臂的位置&…

4. qgis c++二次开发 map canvas介绍

文章目录 前言Map canvasQGis软件中的Map canvas代码添加Map canvasMap Canvas创建和显示 QGis中的QGraphicsItem二次开发中的Item Layer TreeQGis软件中的Layer Tree代码实现layer tree QgsProject(项目管理)QGis软件中的项目管理代码实现 总结 前言 前几篇文章分别介绍了qgi…

软件测试担心失业,如何找一份稳定的技术性工作?没有35岁中年危机!

工作难找,大龄程序员屡次碰壁,感慨并担忧自己的未来没出路! 经常有网友发帖留言: 今年1月4号被裁员,至今未找到工作,之前做的是软件测试,boss上沟通了3000多次,投简历200多次&#…

JimuReport 积木报表 v1.6.4 稳定版本正式发布 — 开源免费的低代码报表

项目介绍 一款免费的数据可视化报表,含报表和大屏设计,像搭建积木一样在线设计报表!功能涵盖,数据报表、打印设计、图表报表、大屏设计等! Web 版报表设计器,类似于excel操作风格,通过拖拽完成报…

高通新骁龙处理器将于明年上半年发布,携四大品牌厂商首发 | 百能云芯

高通(Qualcomm)即将于10月下旬正式亮相首款以Oryon架构打造的 PC CPU「Snapdragon X系列」,据悉,四大品牌联想、惠普(HP)、戴尔(DELL)及宏碁将是首波推出相关PC的品牌厂,…

【JAVA-Day45】Java常用类StringBuffer解析

Java常用类StringBuffer解析 Java常用类StringBuffer解析一、什么是StringBuffer类二、StringBuffer类的方法2.1 append方法2.2 insert方法2.3 delete方法2.4 replace方法2.5 reverse方法2.6 toString方法2.7 capacity方法2.8 length方法 三、StringBuffer类的应用场景深入了解…

AP5216 dc-dc平均电流型 LED降压恒流驱动器 全亮半亮9W车灯驱动IC​

1,​​产品描述 AP5216 是一款 PWM工作模式, 高效率、外 围简单、内置功率管,适用于5V~100V输入的高 精度降压 LED 恒流驱动芯片。输出功率可达 9W,电流 1.0A。 AP5216 可实现全亮/半亮功能切换,通过 MODE 切换&#x…

浅谈智能照明控制系统在智慧建筑中的应用

贾丽丽 安科瑞电气股份有限公司 上海嘉定 201801 摘要:新时期,建筑行业发展迅速,在信息化背景下,建筑功能逐渐拓展,呈现了智能化的发展态势。智能建筑更加安全、节能、环保,也符合绿色建筑理念。在建筑智…

【Hello Algorithm】暴力递归到动态规划(四)

动态规划的数组压缩技巧 - 机器人走格子问题 题目是leetcode62题目原题 表示如下 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中…

到底什么才是真正的商业智能(BI)

随着人工智能、云计算、大数据、互联网、物联网等新一代信息化、数字化技术在各行各业内开始大规模的应用,社会上的数字化、信息化程度不断加深,而数据价值也在这样的刺激下成为了个人、机构、企业乃至国家的重要战略资源,成为了继土地、劳动…

win11 搭建Apache webdav 设置用户名密码 加密授权访问以及多个不同目录访问

Apache webdav 的搭建应该比较简单,但是搭建后还遇到了一些问题,也就是设置了访问用户名密码,咋就不生效呢,苦苦思索两日,终于发现了问题,本文就是分两个方面来编写 一、搭建 1.下载Apache 官网下载: https://www.apachehaus.com/cgi-bin/download.plx 2.下载后解压…

【ECharts】仪表盘指针自定义形状

这里我把指针改为扇形图,如下 主要是通过如下代码实现自定义形状的指针: var option {series: [{pointer: {icon: image://data:image/png;base64,iVBORw0KGgoAAAANSU...,},}]}; 完整代码如下: var chartDom document.getElementById(my…

今日多写一行注释,明日维护少掉一根头发

👑 个人主页 👑 :😜😜😜Fish_Vast😜😜😜 🐝 个人格言 🐝 :🧐🧐🧐说到做到,言出必行&am…

C++11——右值引用

文章目录 1. 左值和右值1.1 什么是左值1.2 什么是右值 2. 左值引用和右值引用2.1 左值引用的使用场景2.2 右值引用的使用场景 3.移动语义4. 完美转发 1. 左值和右值 1.1 什么是左值 左值,不能根据名字来判断,即左边的就是左值,这个是错误的…

Linux系统使用AndroidStudio创建桌面快捷键

Linux系统使用AndroidStudio创建桌面快捷键 系统:deepin 20.7 Android studio 版本:Android Studio Iguana | 2023.2.1 Canary 1 下载免安装最新版本后,是直接在安装包中启动的,但是有点麻烦,就需要设置一个桌面快捷菜…

数据分析案例-基于snownlp模型的MatePad11产品用户评论情感分析(文末送书)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

禁用和开启笔记本电脑的键盘功能,最快的方式

笔记本键盘通常较小,按键很不方便,当我们外接了键盘时就不需要再使用自带的键盘了,而且午睡的时候,总是担心碰到笔记本的键盘,可能会删掉我们的代码什么的,所以就想着怎么禁用掉,下面是操作步骤…