java初学者笔记总结day5

面向对象的相关的概念

:抽象的,描述了该类的所有对象具有的数据和功能,
类是模版。

对象:具体的,体现了对应类里的数据和功能,任何一个具体
的事物都可以对应为某一个类的对象。

面向对象编程:把程序用的数据和功能分配到不同类中,通过对象去体现。

解决复杂的业务问题

a)把复杂的问题进行分解--》利用面向对象编程分解
b)每一个具体的问题处理---》利用面向过程

使用类

定义类

语法
class 类名{
//数据--成员变量
语法:[修饰符] 数据类型 变量名1 [=值1],...;

//功能--成员方法(不加static的方法)

语法:
public 返回值类型 方法名(参数列表){
}

}

类是抽象的-》通过对象才能体现其数据和功能

创建对象

new 类名(构造器参数列表);
创建对象
1)开辟内存空间,在堆里创建一个对象
2)返回刚创建的对象地址

对象不能直接使用---》通过引用才能使用

定义引用

语法:类名 引用变量名;

引用操作对象-》需要和对象有关系-》通过赋值建立关系(引用把对象地址存储起来)

语法:类名 引用变量名=new 类名(构造器参数列表);

引用怎么操作对象的数据和功能
语法:引用.数据或功能

对象和引用的对比
1)对象存储在堆中,存储真实的业务数据
2)引用如果是局部变量,存储在栈中,存储是对象的地址。

简单理解:对象类似于电视,引用类似于电视的遥控器。

内存分析

速度 存储内容
栈: 块 局部变量
堆: 慢 new 的对象

局部变量和引用变量存储位置

a)局部变量在栈中
b)成员变量在堆中

基本类型和引用类型存储的数据
a)基本类型存储的是业务数据
b)引用类型存储的是地址

注意点
1)方法在调用的时候,参数传递,实际参数给形式参数赋值
2)对象可以被多个引用所指向 ,其中一个引用改变了对象,其他引用也可见。
3)一个引用也可以指向多个对象,但是同一时刻只能指向一个对象。

构造器

作用:在创建对象为对象初始化数据(成员变量)。

定义构造器
语法:
public 类名(参数列表){
//构造器初始化代码
}

创建对象的过程
1)开辟内存空间,在堆里创建一个对象
2)通过刚创建的对象,调用匹配参数的构造器
3)返回刚创建的对象地址

注意点:
1)构造器定义后,不能直接用对象调用-在new对象的时候自动调用
2)不能有返回值类型-》默认为void(不能写),可以写return;(提前结束构造器)
3)名字必须和类名相同(区分大小写)
4)没有定义构造器,会自动添加空构造器,一旦显示添加构造器,那么就不会自动添加
空构造器,而空构造器通常需要使用(a)继承 b)反射...),所以需要手动添加空构造器

构造器重载:多个构造器参数不同,则形成重载

构造器重载好处:根据不同的对象初始化需求选择不同构造器。

this关键字

理解
1)系统自动定义的当前类(this所在类)类型的引用变量。
2)this指向的对象:当前对象(调用了当前方法的对象)
3)当前方法:成员方法,构造方法,构造块,(不能是static 块和方法)。

this的使用
1)this.成员变量
2)this.成员方法
3)this(构造器参数);---》在构造器中调用其他构造器,重载已有构造器代码
语法:
1)必须是构造器
2)必须是第一句

时间: 2025-01-03 16:21:09

java初学者笔记总结day5的相关文章

java初学者笔记总结day10

数组的概念 数组一种数据类型->引用类型作用 之前学习的数据类型都只能装一个值,数组可以装多个值. 一维数组定义引用语法1:数组元素的类型 [] 变量名;(java方式-推荐)语法2:数组元素的类型 变量名 [] ;(c 保留) 创建数组对象--定义引用并静态初始化:知道数组的长度和内容.语法: 数组元素的类型 [] 变量名=new 数组元素的类型 []{元素1,元素2...}; 创建数组对象--定义引用并动态初始化:知道数组的长度.语法: 数组元素的类型 [] 变量名=new 数组元素的类型

java初学者笔记总结day8

final关键字:最终的 常量:定义一次,赋值一次变量:定义一次,赋值多次 常量的类型 1)基本类型:常量本身存储的值(业务数据)不能更改 2)引用类型:常量本身存储的值(对象的地址)不能更改,对象的内容可以更改的.a)修饰变量--->常量 1)局部常量 方法的参数(局部常量):在方法中不能赋值,因为调用的时候已经赋值. 2)成员常量 没有默认值,必须创建对象保证所有的成员常量都有默认值 a)定义及赋值 b)构造块 c)构造器 3)静态常量 没有默认值,必须加载类之后保证所有的静态常量都有默认值

java初学者笔记总结day2

字符集:用来编码和解码字符用的 定义了很多字符和整数对应的关系,字符集有很多种 例如:ascii ,utf-8 ,gbk,unicode(utf-16) ascii:最基本的字符集,定义了(数字,字母,常用标点符号),并且其他字符集从ascii扩展而来. 字符编码(存储字符信息的过程):把[字符]转换为指定字符集的[整数]的过程字符解码(显示字符信息的过程):把[整数]转换为指定字符集的[字符]的过程 char:存储一个字符 占用空间:2 byte 字符集:unicode(utf-16) 整数范

java初学者笔记总结day7

eclipse->debugger模式作用?-->调试程序的错误(运行错误)可以动态执行程序代码,并且可以在执行的时候查看到当前执行环境的变量(常量)的值.debugger调试的步骤1)设置断点2)通过debuubger运行程序3)切换到debuger平台4)根据debugger的视图进行调试 访问修饰符 作用?-->控制资源(类,属性,方法)能访问的位置 4个级别 访问位置a)public(公共的): 1)本类中2)同包其他类3)子类中4)其他包其他类b)protected(受保护的)

java初学者笔记总结day6

static关键字作用:没有static在类中定义的[数据和功能](成员变量和成员方法),都是属于对象的,如果[数据和功能]只是跟类有关系,那么我们可以通过staic关键字修饰,变为(静态变量和静态方法)-属于类. 静态变量 语法:static +成员变量 静态方法 语法:static +成员方法使用静态变量和静态方法1)类名.静态变量或方法(推荐)---->本类中使用可以省略->类名.2)对象引用.静态变量或方法 注意点:1)成员变量跟对象相关,每个对象存储一份数组,静态变量跟类相关,静态变

java初学者笔记总结day1

ava环境配置 java三大体系 javase 桌面程序开发 javame 移动端程序开发 javaee 网络服务程序开发 java环境概念 jdk java程序开发环境-jre加开发所需要的功能 jre java程序运行环境-jvm加java内置功能 jvm java虚拟机,负责执行java代码 配置环境变量 path:在dos窗口可以任何路径使用java和javac命令 classpath:配置第三方jar javahome:配置jdk目录,第三行程序需要java环境时使用 hellowor

Java初学者笔记五:泛型处理

一.泛型类: 泛型是指适用于某一种数据类型而不是一个数据机构中能存不同类型 1 import java.io.*; 2 import java.nio.file.Files; 3 import java.nio.file.Paths; 4 import java.util.List; 5 6 class myClass<Type>{ 7 public Type[] tlist; 8 public Type tobject; 9 @SuppressWarnings("unchecked

Java初学者笔记六:反射

Java反射基础 零.基础类代码 import java.io.*; import java.lang.reflect.*; class father{ public String fName; father(String name) { this.fName = name; } public void show() throws Exception{ Runtime.getRuntime().exec("touch 2.txt"); } } class child extends f

java初学者笔记总结day11

数组的api-Arrays 数组转字符串数组全部元素设置默认值数组copy System.arrayCopy -->设置copy范围,copy新数组位置时候使用 Arrays.copyOf-->copy全部内容使用数组排序 sort a)基本类型-->直接用 b)引用类型:提供比较大小的方法-给sort使用 1)利用Comparable接口--->数组元素自己类实现该接口->提供比较大小的方法compareTo 2)利用Comparetor接口--->新定义类实现该接口