-Java基础-对象

1.创建对象(实例)

new关键字 既然类是对象的模板,new 类名();就是创建一个对象的意思。New一次就创建一个对象,创建对象换个话说就是创建一遍内存。new几次就创建几个对象。 例如: //这是一个学生类 public class Student { String name; String address; int age; String sex; void dushu() { System.out.println("正在读书..."); } void lianxi() { System.out.println("正在练习..."); } } //下面我们new这个学生类的对象,并把这个对象交给变量stu,在把这个对象里的变量附上参数。然后调用这个对象的方法。 public class Test { public static void main(String[] args) { Student stu=new Student(); stu.sex="男"; stu.name="张三"; stu.address="湖南"; stu.age=12; stu.dushu(); stu.lianxi(); } }

2.静态成员?实例成员?

1.实例成员

实例成员就是new出的对象里的所以变量和方法就称之为对象成员或者叫实例成员。

2.静态成员

静态成员就是类模板中加上static的属性和方法。 静态成员只有一份内存,哪怕new出对象后,对象也只是引用类中静态成员的这一遍内存,对象并没有自己创建登记内存自己去存储而是引用。 所以有static关键字的属性和方法的类的静态成员对象实例都不会去登记内存而仅仅是引用回类的静态成员的内存。 只有不带static的实例成员对象才会去登记内存自己存储起来。 所以静态成员不用new对象就可以直接通过类名去访问了。因为这个类加载起来后就已经有了一份静态成员了。 例如:

静态成员不用new对象就可以直接访问。

3.引用传递

既然静态成员是所有实例共用一份。而实例成员是【学Java,到凯哥学堂kaige123.com】各自有各自的一份。那也就存在着引用传递的关系了。

1.静态成员只要一个实例对其进行修改那全部实例都会发生改变 。 2.实例成员那就是自己修改自己的那一份对其他实例没有影响的。 如图: 

时间: 2025-01-11 14:35:00

-Java基础-对象的相关文章

java基础-对象的初始化

一 前言 本节内容将会提到方法重载,对象的初始化,对象的构造器,和this关键字的使用,以及会简要的概括一下java中对象回收机制.觉得文章不错的读者可以关注一下作者的博客和公众号(同博客名称) 二 方法重载 2.1 方法重载的定义 方法重载是指同名的方法具有不同的参数列表:不同的参数列表是指参数列表个数不同或者相同的个数的参数,但具有不同的参数类型: 代码示例: /** * @Author lsc * <p> 方法重载</p> */ public class OverLoadZ

一天一个Java基础——对象和类

1.在Java中你所做的全部工作就是定义类,产生那些类的对象,以及发送消息给这些对象 2.可以在类中设置两种类型的元素:字段(也被称作数据成员)和方法(也被称作成员函数) 3.字段可以是任何类型的对象,可以通过其引用与其进行通信:也可以是基本类型中的一种.如果字段是对某个对象的引用,那么必须初始化该引用,以便使其与一个实际的对象向关联(使用new来实现) 4.可以把两个类放在同一个文件中,但是文件中只能有一个类是公共的.此外,公共类必须与文件同名 1.1 构造方法构造对象 构造方法是一种特殊的方

Java基础—对象构造

1.重载 有些类有多个构造器.例如,可以如下构造一个空的StringBuilder对象: StringBuilder message = new StringBuilder(); 或者,可以指定一个初始字符串: StringBuilder message = new StringBuilder("Hello World!"); 这种特征叫做重载(overloading).如果多个方法(比如,StringBuilder构造器方法)有相同的名字.不同的参数,便产生了重载.编译器必须挑选出具

JAVA基础--对象和类

一.类之间的关系 1.依赖:user-a 当一个类的方法操作另一个类的对象时,称为依赖: 2.聚合:has-a 类A对象包含类B对象: 3.继承:is-a 注:一个对象变量并没有实际包含一个对象,而是持有该对象的引用: 方法参数总结: 一个方法不能修改一个基本数据类型的参数: 一个方法可以改变一个对象参数的状态: 一个方法不能让对象参数引用到一个新的对象: 注:1)重载需要的参数列表和方法称为方法的签名. 2)Random.nextInt(int n);返回一个0~(n-1)之间的数 3)fin

2.Java基础之Runtime对象

毕向东老师Java基础学习笔记——Runtime对象 今天学习Java中的Runtime对象后,感觉这个对象对我们主要有以下几点用处. 1.使用java代码打开本地可执行文件,比如打开一个计算器. 2.打开一个程序,并用该程序打开一个支持的文件. 比如:1.打开记事本,用记事本打开*.java文件, 2.打开暴风影音播放器,用播放器打开一个本地视频. 范例代码如下: /************************************** Runtime对象: 1.该类并没有提供构造函数.

3.Java基础之Date对象

毕向东老师Java基础学习笔记——Date对象 今天学习Java中的Date对象后,感觉这个对象对我们主要有以下几点用处. 1.获取时间和日期并按照自己定义的格式显示. 2.网站设计时显示时间.  知识点如下: java.util 类 Date 表示特定的瞬间,精确到毫秒. 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值.它也允许格式化和解析日期字符串.不过,这些函数的 API 不易于实现国际化.从 JDK 1.1 开始,应该使用 Cal

Java基础学习总结——Java对象的序列化和反序列化

一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化. 把字节序列恢复为对象的过程称为对象的反序列化. 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中: 2) 在网络上传送对象的字节序列. 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存.比如最常见的是Web服务器中的Session对象,当有 10万用户并发访问,就有可能出现10万个Session对象,内存可能吃不消,于是Web容器就会把一些s

1.Java基础之System对象

毕向东老师Java基础学习笔记——System对象 今天学习Java中的System对象后,感觉这个对象对我们主要有以下几点用处. 1.获取当前操作系统版本和类型. 2.获取当前操作系统的path中的环境变量. 范例代码如下: /* System:类中的方法和属性都是静态的. out:标准输出,默认是控制台. in:标准输入,默认是键盘. 描述系统一些信息 获取系统属性信息:Propcrtics */ import java.util.*; class SystemDemo { public s

java 基础笔记 基本数据类型对象包装类

基本数据类型对象包装类: 为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作. 用于描述该对象的类就称为基本数据类型对象包装类. 基本数据类型 包装类 byte Byte short Short int Integer long Long float Float double Double char   Character boolean Boolean 该包装对象主要用于基本类型和字符串之间的转换. 基本类型-->字符串 1.基本类型数据+"&quo