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

1.在Java中你所做的全部工作就是定义类,产生那些类的对象,以及发送消息给这些对象

2.可以在类中设置两种类型的元素:字段(也被称作数据成员)和方法(也被称作成员函数)

3.字段可以是任何类型的对象,可以通过其引用与其进行通信;也可以是基本类型中的一种。如果字段是对某个对象的引用,那么必须初始化该引用,以便使其与一个实际的对象向关联(使用new来实现)

4.可以把两个类放在同一个文件中,但是文件中只能有一个类是公共的。此外,公共类必须与文件同名

1.1 构造方法构造对象

  构造方法是一种特殊的方法,具有以下三种特殊性:
    1)构造方法必须具备和所在类相同的名字
    2)构造方法没有返回类型,甚至连void也没有
    3)构造方法是在创建一个对象使用new操作符时调用的。构造方法的作用是初始化对象
  构造方法也可以重载,也就是可以有多个同名的构造方法,但它们要有不同的签名

1.2 访问对象的数据和方法

  若类的某个成员是基本数据类型,即使没有进行初始化,Java也会确保它获得一个默认值(在类中可以声明无初始值的变量,但在方法中不能声明无初始值的临时变量)

  引用类型数据域默认值是null,数值类型默认值是0,boolean类型为false,char为‘\u0000’
  但是Java没有给方法中的局部变量赋默认值

  每个变量都代表一个存储值的内存位置,基本类型变量的内存中存储的是一个基本类型值,而引用类型变量存储的是一个引用,它指向对象在内存中的位置

  当引用变量被赋值予另一个新引用后,原来的引用的对象就不再有用,因此就变成了垃圾(garbage),占用了内存空间,所以Java运行系统会检测垃圾并自动回收它所占的空间,这个过程称为垃圾回收(garbage collection)

1.3 静态变量、常量和方法

  如果想让一个类的所有实例共享数据,就要使用静态变量(static variable),也称为类变量(class variable)。静态变量将变量值存储在一个公共的内存地址。因为它是公共的地址,所以如果某一个对象修改了静态变量的值,那么同一个类的所有对象都会收到影响。Java支持静态方法和静态变量,无须创建类的实例就可以调用静态方法(static method)

 1 public class test2 {
 2     public static void main(String[] args) {
 3         /*
 4          * 类中变量是否为静态的区别
 5          */
 6         Test4 t1 = new Test4();
 7         System.out.println(t1.id);
 8         t1.id = 4;
 9         System.out.println(t1.id);
10         Test4 t2 = new Test4();
11         System.out.println(t2.id);
12     }
13 }
14 class Test4{
15     /* 若为static int id = 1;
16      * 则运行结果为 1 4 4
17      */
18     int id = 1;
19     /*
20      * 运行结果为 1 4 1
21      */
22     public void a1(){
23         id++;
24     }
25     public void a2(){
26         id++;
27     }
28 }
时间: 2024-12-19 08:57:36

一天一个Java基础——对象和类的相关文章

JAVA基础--对象和类

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

Java基础之装饰类

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.ios培训..Net培训</a>.期待与您交流!------ Java基础之装饰类:简介:首先他是一种设计模式属于23种设计模式之一,英文叫Decorator Pattern.又叫装饰者模式.装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来

【Java菜鸟学习总结】Java基础知识(类)

目录 [Java菜鸟学习总结]Java基础知识(类) 1.面向对象编程 2.类 3.static关键字 4.final关键字 [Java菜鸟学习总结]Java基础知识(类) 1.面向对象编程 1.1.面向对象编程的特征 面向对象编程(OOP)的三大特征 { 封装; 继承; 多态; } 1.2.类与对象概述 类与对象是面向对象的核心概念. 类与对象 { 类; // 类是对于一类事物的描述,是抽象的.概念的定义. 对象; // 对象是实际存在的该类事物的每个个体,因而也别称为实例. } 2.类 2.

一个Java基础练习

com聚合是包容的一种特例,目的是最大化的实现功能模块话,降低组件间的耦合性. 第一步: 通过ATL创建com外部组件TestOutCom.dll,在其内部创建接口包装类CCMyOuterCom,并实现其对应的接口ICMyOuterCom,注意默认选择"聚合"(这点很重要,后面我们会详细解说) 在"聚合"选项中: 勾选"是",则按照默认生成支持聚合的包装类 勾选"否",则包装类头文件CMyOuterCom.h,在公开接口列表字

Java常见对象Object类中的个别方法

Java常见对象Object类 public int hashCode() : 返回该对象的哈希码值. 注意:哈希值是根据哈希算法计算出来的一个值,这个值和地址值有关,但是不是实际地址值.你可以理解成地址值. package common_object; public class Demo extends Object{ } package common_object; public class DemoTest { public static void main(String[] args)

Java基础之File类的使用

Java基础之File类的使用 1.File类的构造方法和常用方法 2.对File中listFile(FileNameFilter name)学习 3.与File文件类相关的实现 File类的构造方法和常用方法: 在Java中File类在IO流中被频繁使用,可以使用一个文件路径来表示在特定位置上的文件,但是需要注意的是这个路径只表示一个文件抽象的概念, 文件到底在不在这个路径下是不确定,换句话说,是不能通过文件路径来判断文件是否存在. 构造方法 File(File parent, String 

spring mvc返回json字符串数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable

1.spring mvc返回json数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable 2. @RequestMapping(value = { "/actor_details" }, method = { RequestMethod.POST }) @ResponseBody public ResultObject actorDetails(@RequestBody ActorDetailsRequest req)

java基础,继承类题目:编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类 E

21.编写一个Java应用程序,该程序包括3个类:Monkey类.People类和主类 E.要求: (1) Monkey类中有个构造方法:Monkey (String s),并且有个public void speak() 方法,在speak方法中输出“咿咿呀呀......”的信息. (2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法 中输出“小样的,不错嘛!会说话了!”的信息. (3)在People类中新增方法void think(),在thi

Java基础-一个java文件多个类的问题

一个.java文件当然可以包括多个类.但这些类有一个特殊的类与其它的不同,,这个类是带public 属性的类.一个.java类文件中仅有一个public属性的类.而且这个类与文件名相同.