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 }

一天一个Java基础——对象和类相关推荐

  1. Java基础----对象与类

    一.面向对象程序设计概述 面向对象程序设计(oop) 二.类 类(class)是构造对象模板或蓝图 由类构造(construct)对象的过程称为创建类的实例(instance) 封装是处理对象的一个重 ...

  2. Java基础:String类

    相关阅读 Java基础:String类 Java字符串格式化 Java基础:正则表达式 1. 概述 字符串是由多个字符组成的一串数据(字符序列),字符串可以看成是字符数组. 在实际开发中,字符串的操作 ...

  3. 多重继承_Python 和 Java 基础对比 10 —— 类的封装、继承和多态

    @Python大星 一.Python 类的封装.继承和多态 封装 继承 Python 支持多父类的继承机制,所以需要注意圆括号中基类的顺序,若是基类中有相同的方法名,并且在子类使用时未指定,Pytho ...

  4. 一文带你深入理解【Java基础】· 枚举类

    写在前面 Hello大家好, 我是[麟-小白],一位软件工程专业的学生,喜好计算机知识.希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正!谢谢大家!!! ...

  5. 【狂神说笔记—— Java基础07-常用类】

    Java基础07-常用类 Object类 大家都知道Object是所有类的父类,任何类都默认继承Object. 理论上Object类是所有类的父类,即直接或间接的继承java.lang.Object类 ...

  6. Java基础复习-常用类

    Java基础复习-常用类 本文仅对学习过程中所缺java知识点的查缺补漏复习 String 代表字符串.Java程序中的所有字符串字面值(如"abc")都作为此类的实例实现. St ...

  7. 《Java程序设计》实验报告——Java的对象与类

    浙江理工大学 <Java程序设计>  实验报告  20 19-20 20学年第 1学期      学  院 信息学院 班  级 计算机科学与技术18(3) 姓  名 申屠志刚 学  号 2 ...

  8. Java的对象和类,构造器详解

    Java的对象和类 package OPP;//学生的类,一个类中只存在属性和方法 public class Student {//属性String name;//没有赋值默认值为nullint ag ...

  9. java对象与类ppt,JAVA语言对象与类.ppt

    JAVA语言对象与类.ppt 第三章 对象与类,3.1 类与对象 3.2 定义类 3.3 成员变量的作用域 3.4 方法重载 3.5 创建对象 3.6 构造方法 3.7 this关键字 3.8 初始化 ...

最新文章

  1. 9.LeetCode第350题---两个数组的交集2
  2. python爬虫抓取数据的步骤-Python爬虫抓取手机APP的传输数据
  3. python画椭圆-Python易学就会(五)turtle绘制椭圆与递归
  4. 前端导出文件,后端返回文件流过大直接干崩溃
  5. 计算属性computed的使用
  6. L1-070 吃火锅 (15 分)-PAT 团体程序设计天梯赛 GPLT
  7. Markdown:继续编号列表
  8. 8光12电ERPS工业级环网交换机 PLC自动化环网柜一键环网交换机
  9. vijos 1002
  10. WinRAR 永久去除弹窗广告
  11. 【web素材】04—40款个人主页简历网页模板及企业单页
  12. python错题集(1)
  13. ARM模拟器-skyeye(天目)的安装和使用!
  14. ubuntu18.04-ros-melodic-carlar安装教程详细指南
  15. ToF相机从Camera2 API中获取DEPTH16格式深度图
  16. 卡在linuxctrld进系统_centos7系统停在Ctrl+d界面的解决方法
  17. UnityShader 图片或者颜色混合模式详解
  18. 外链分享已取消无法下载怎么办_热点 | 手机号码归属地能否取消?工信部回应......
  19. Qt中注册定义类型qRegisterMetaType和Q_DECLARE_METATYPE的总结
  20. 专访|威威玮炜蜜汁同框的背后,看ofo小黄车的野心与坚持

热门文章

  1. python如何定义类_Python 面向对象
  2. python编写用户输入的是q么代码_Python课 #01号作业
  3. 相关计算机专业的英语文献,英文文献及翻译计算机专业.doc
  4. 软件测试--利用正交表设计测试用例
  5. Android Studio开发环境及第一个项目
  6. python去重复行_python去除文件中重复的行实例
  7. iOS 后台下载及管理库
  8. spring cloud微服务分布式云架构--hystrix的使用
  9. Centos 7 冗余备份磁盘配置介绍
  10. oracle数据库导入导出