首页 > 编程语言 >Java基础(7)- Java代码笔记4

Java基础(7)- Java代码笔记4

时间:2024-09-02 16:54:08浏览次数:13  
标签:Java name 对象 代码 笔记 public new 成员 JavaBean

目录

一、面向对象

1.面向对象介绍

2.类的介绍和定义

3.对象的使用

4.匿名对象

5.面向对象内存图

a.一个对像内存图

b.两个对象内存图

c.两个对象指向同一片空间内存图

6.成员变量和局部变量的区别

7.MyDate类

二、封装

1.封装介绍

2.private关键字

3.get&set方法

4.this关键字

5.构造方法

a.无参构造

b.有参构造

6.标准JavaBean

7.快速生成JavaBean快捷键

8.JavaBean与数据库表

9.JavaBean参与查询过程


一、面向对象

1.面向对象介绍

代表语言举例:洗衣服
面向对象C语言自己事情自己干自己亲力亲为,找盆,放水...
面向过程Java语言别人帮忙干全自动洗衣机

面向对象优点:简化编写过程,减少代码量,只需要使用,不需要关心具体实现过程。

怎么使用面向对象思想编程:

a.new -> new完 . -> .代表是调用

b.特殊:如果调用的成员带static关键字,我们不需要new,直接类名.即可

2.类的介绍和定义

测试类:带main方法的类,主要运行代码

实体类:一类事物恶的抽象表示形式

组成部分

属性(成员变量)

a.定义位置:类中 方法外

b.作用范围:作用于当前类

c.定义格式:数据类型 变量名

d.默认值:整数:0 / 小数:0.0 / 字符:'\u0000' -> 对应int值为0 / 布尔:false / 引用:null

行为(成员方法)

只需把static去掉,其他与前面所学方法一样

3.对象的使用

a.导包:import 包名.类名

如果两个类在同一个包下,想要使用对方的成员不需要导包

如果两个类不在同一个包下,想要使用对方的成员需要导包

特殊包:java.lang -> 使用lang包下的类不需要导包 -> String

tip:学习四种权限修饰符前,尽量让两个类在同一个包下

b.创建对象

c.调用成员

4.匿名对象

常规对象类比变量

int i=10int:数据类型i:变量名等号右边的10:真正的数据
Person p=new Person()

等号左面的Person:

对象的类型

p:对象名

等号右边的new Person():

真正数据,是一个Person对象

匿名对象:没有等号左边部分,只有等号右边部分( new Xxxx().成员 )

注意:如果只单纯调用一个方法,让方法执行,可以考虑使用匿名对象,但如果涉及到赋值,千万不要使用匿名对象。

5.面向对象内存图

a.一个对像内存图

b.两个对象内存图

c.两个对象指向同一片空间内存图

6.成员变量和局部变量的区别

定义位置

重点

初始化值

重点

作用范围

重点

内存位置

了解

生命周期

了解

成员变量类中方法外

有默认值

不用手动赋值

可以直接用

作用于整个类

在堆中

跟着对象走

随对象的创建而产生

随对象消失而消失

局部变量

方法之中或

参数位置

无默认值

需要手动赋值才能用

只作用自己所在方法

其他方法无法使用

在栈中

跟着方法走

随着方法调用而产生

随着方法调用完毕而消失

7.MyDate类

MyDate类属于自定义类型(引用数据类型)

这种类型操作之前必须要赋值

即需要new‘对象赋值

MyDate birthday = new MyDate();

citizen.birthday.year = 2000 ;

二、封装

1.封装介绍

面向对象三大特征:[封装] 继承 多态

什么是封装思想:类比洗衣机,只需要知道按钮的作用,而不需要知道每个功能具体怎么实现,隐藏掉细节,只对外提供一个公共接口,提高系统的可扩展性,可维护性,安全性。

2.private关键字

问题:定义的成员变量,只要new新的对象,都可随便调用,不合理的调用也无法阻止

解决:将成员变量私有化,用 private 关键字修饰

修饰成员变量:private 数据类型 变量名

修饰方法:将public改成private,其他都一样

3.get&set方法

问题:属性被私有化了,外界直接调用不了,此时属性就不能直接赋值取值了,所以需要提供公共的接口get/set方法

set方法:为属性赋值

get方法:获取属性值

tips:可以在get/set方法里面加一些判断,用来验证数据是否合理。

private String name;
private int age;

public void setName(String xingMing){
    name = xingMing;
}
public String getName(){
    return name;
}

public void setAge(int nianLing){
    age = nianLing;
}
public int getAge(){

    return age;
}

4.this关键字

如果局部变量和成员变量重名时,默认“就近原则”,先访问局部变量。

this代表的是当前对象,区分重名的局部变量和成员变量

this点出来的一定时成员变量

//成员类
String name;

public void speak(String name){
    System.out.println(name+"您好我是"+name);
}

//主类
Person p = new Person();
person.name = "wang";
person.speak("li");

//输出
li你好我是li
//成员类
String name;

public void speak(String name){
    System.out.println(this.name+"您好我是"+name);
}

//主类
Person p = new Person();
person.name = "wang";
person.speak("li");

//输出
li你好我是wang

5.构造方法

构造方法:方法名和类名一致并且能初始化对象的方法,无返回值,void也没有

分类:无参构造/有参构造/满参构造

a.无参构造

格式:

public 类名(){

}

作用:new对象使用

特点:每个类中默认都有一个无参构造,不写也有,jvm会自动提供

使用:new对象就是在调用构造方法

b.有参构造

格式:

public 类名(形参){
    为属性赋值
}

作用:new对象/为属性赋值

特点:jvm不会自动提供有参构造,但是将有参构造手写出来,jvm将不再提供无参构造,所以建议有参,无参构造都手写上去。

6.标准JavaBean

JavaBean是Java语言编写 类 的一种标准规范,符合JavaBean的类要求:

a.类必须是具体的(非抽象abstract)和公共的,public class 类名

b.并且具有无参数的构造方法,有参构造

c.成员变量私有化,并提供用来操作成员变量的set和get方法

分包分层

controller -> 专门放和页面打交道的类(表现层)

service -> 专门放业务处理的类(业务层)

pojo -> 专门放javabean类

utils -> 专门放工具类

7.快速生成JavaBean快捷键

Alt+Insert

8.JavaBean与数据库表

9.JavaBean参与查询过程

标签:Java,name,对象,代码,笔记,public,new,成员,JavaBean
From: https://blog.csdn.net/weixin_47062560/article/details/141724935

相关文章

  • java集合练习02
    使用ArrayList完成对对象Car{name,price}的各种操作1.add:添加单个元素2.remove:删除指定元素3.contains:查找元素是否存在•4.size:获取元素个数5.isEmpty:判断是否为空6.Clear:清空7.addAll:添加多个元素8.containsAll:查找多个元素是否都存在9.removeAll:删除多个元素1......
  • Java服务端数据库连接:连接池的资源管理
    Java服务端数据库连接:连接池的资源管理大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在Java服务端开发中,数据库连接池是管理数据库连接的重要工具,它能有效提高数据库操作的性能和稳定性。然而,连接池的资源管理同样重要,它涉及到连接的创建、使用、回......
  • 山财培训网刷课脚本-JavaScript编写
    脚本学习网站:山财培训网首页-会计培训专家:http://training.sdufe.edu.cn/脚本地址:山财培训网-刷课脚本教程1.插件安装(以MicrosoftEdge浏览器为例)打开最中间那个蓝色绿色的浏览器,谷歌之类的浏览器也可以点击屏幕右上角三个点,图示位置,然后点击扩展点击获取扩展搜索T......
  • 终于整理完了,2024年最新Java八股文
    一、Java并发面试题1、ThreadLocal1.1谈谈你对ThreadLocal的理解?ThreadLocal的作用主要是做数据隔离,填充的数据只属于当前线程,变量的数据对别的线程而言是相对隔离的。它不是针对程序的全局变量,只是针对当前线程的全局变量。1.2ThreadLocal底层实现原理?Threadlocal内部......
  • 成都继续教育刷课脚本-JavaScript编写
    脚本学习网站:www.cdjxjy.com,www.cdzjjj.com脚本地址:成都继续教育-刷课脚本教程1.插件安装(以MicrosoftEdge浏览器为例)打开最中间那个蓝色绿色的浏览器,谷歌之类的浏览器也可以点击屏幕右上角三个点,图示位置,然后点击扩展点击获取扩展搜索Tampermonkey,并点击获取那个......
  • Java 实现二叉树展平为链表
    Java实现二叉树展平为链表前言问题背景解决方案代码实现代码分析结论使用原地算法(O(1)空间复杂度)将二叉树展平为链表问题描述解决方案代码实现代码分析优化思路结论前言在处理二叉树数据结构时,有时需要将其转换成一种特殊的形态,即链表。这种转换可以简化某些......
  • Java服务端服务发现:Eureka与Consul的故障排查
    Java服务端服务发现:Eureka与Consul的故障排查大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在微服务架构中,服务发现是实现服务间通信的关键机制。Eureka和Consul是两个广泛使用的服务发现工具。它们都提供了服务注册与发现的功能,但在实际使用过程中......
  • 临沂市专业技术人员继续教育刷课脚本-JavaScript编写
    脚本学习网站:sdly.treewises.com脚本地址:临沂市专业技术人员继续教育-刷课脚本教程1.插件安装(以MicrosoftEdge浏览器为例)打开最中间那个蓝色绿色的浏览器,谷歌之类的浏览器也可以点击屏幕右上角三个点,图示位置,然后点击扩展点击获取扩展搜索Tampermonkey,并点击获取那......
  • Java服务端数据库连接:连接池的配置与优化
    Java服务端数据库连接:连接池的配置与优化大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!数据库连接池是Java服务端开发中用于管理数据库连接的重要组件,它可以显著提高数据库操作的性能。合理的配置与优化连接池对于提升应用性能和稳定性至关重要。本......
  • Java服务端数据库连接:连接池的高级特性
    Java服务端数据库连接:连接池的高级特性大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!数据库连接池作为Java服务端应用中的核心组件,不仅需要提供基本的连接管理功能,还需要具备一些高级特性以满足复杂的业务需求。这些高级特性包括但不限于连接池的动......