全部章节   >>>>


本章目录

7.1 理解类和对象

7.1.1 对象

7.1.2 抽象与类

7.1.3 类与对象的关系:

7.2 Java中的类和对象

7.2.1 类的定义

7.2.2 类的成员

7.2.3 实践练习(一)

7.2.4 实践练习(二)

7.3 对象的创建和使用

7.3.1 对象的创建

7.3.2 对象的创建和使用

7.3.3 实践练习

7.4 面向对象

7.4.1 面向对象编程

7.4.2 数据类型终结

7.4.3 构造方法

7.4.4 实践练习

总结:


7.1 理解类和对象

7.1.1 对象

现实世界中的所有具体的事物都可以视为对象

Java中万物皆对象

1、万物皆对象

2、用来模拟现实中的事物

3、可以用计算机的实体来模拟现实中的实体(对象)

4、是一种设计和实现软件系统的思想

在面向对象编程中将对象拥有的特征称之为属性,通常情况下对象具有不同的属性和属性值。

对象还能执行某些造作或具备某些行为能力。例如,马小云能执行的操作有:听课、看书、做作业。艾成旭能讲课、编写程序、批阅作业。

对象能够执行的操作或具备的行为能力称为方法,如马小云有听课、看书、做作业的方法。

(1)属性——对象具有的各种特征

每个对象的每个属性都拥有特定值

例如:马小云的年龄、姓名等

(2)方法——对象执行的操作或行为

对象:用于描述客观事物的一个实体,由一组属性和方法构成

7.1.2 抽象与类

类是具有相同属性和共同行为的一组对象的集合。

每个对象的属性值可以不一样

7.1.3 类与对象的关系:

类是对对象的描述,是创建对象的“模板”,是对象的抽象

对象表示现实世界中某个具体的事物,是类的一个实例,是类的实例化结果

7.2 Java中的类和对象

所有Java程序都以类class为组织单元

关键字class定义自定义的数据类型

7.2.1 类的定义

定义类的步骤:定义类----》定义属性----》定义方法

public class  类名 {
//定义属性部分
//定义方法部分
}

语法说明:

(1)访问修饰符是对类的访问范围的一种限定,使用public表示共有。

(2)class是定义类的关键字。

(3)类名也是Java中的标识符,必须满足标识符的命名规范;类名的命名规范中,要求类名首字母大写,且类名简介并富有含义。

示例:定义一个学生类

程序要运行,必须有main方法,它是程序运行的入口,通常将main方法放在一个专门定义的启动类中,main程序入口的格式要满足Java语言的语法规定。

7.2.2 类的成员

成员变量(全局变量):属性用于表示类的特征,它是类的成员的一部分,在Java类的主体中定义变量,描述类所具有的特征(属性),这些变量称为类的成员变量。可以不使用。

局部变量:必须先声明后使用。

public class Engineer {
String name; //工程师的姓名
int age; //工程师的年龄
String title; //工程师的职称
}

成员方法:通过在类中定义方法,描述类所具有的行为,这些方法称为类的成员方法。

说明:

在Java中,定义类使用帕斯卡命名法,定义类的方法和属性名则用驼峰命名法。

帕斯卡命名法:每一个单词的首字母大写。例如:类名:Student、Teacher。

驼峰命名法:第一个单词的首字母小写,后面每个单词的首字母大写。例如:方法名 showInfo、变量名 userName。

示例:编写工程师做项目的方法和显示自己的信息的方法

public class Enginner{
//做项目的方法
public void work( ) {
System.out.println(“做项目”);
}
//显示自己的信息
public void showInfo() {
System.out.printf(“我是%s,年龄%d,职称为%s。”,name,age,title);
}
}

在定义类时,属性表示类的特征,一般用“名词”来命名,而方法表示类的行为,一般用“动词”来命名。

7.2.3 实践练习(一)

7.2.4 实践练习(二)

7.3 对象的创建和使用

7.3.1 对象的创建

定义好类后,下面即可根据定义的模板创建对象。

类的作用就是创建对象,由类生成对象,称为类的实例化过程。一个实例也就是一个对象,一个类可以生成多个对象。

类名 对象名 = new 类名( );

7.3.2 对象的创建和使用

对象只有在被创建好后才可以使用。

在Java中,要引用对象的属性和方法,需要使用“.”操作符。

使用对象的步骤:

创建对象:类名 对象名 = new 类名();

Enginner enginner1= new Enginner( );

引用对象成员:使用“.”进行以下操作

引用类的属性:对象名.属性

引用类的方法:对象名.方法名()

enginner1.name = “艾边成”; //为name属性赋值
enginner1.showInfo( ); //调用showInfo( )的方法

示例:创建工程师对象并使用。

Engineer engineer1 = new Engineer();
System.out.println(" 初始化变量前 :");
engineer1.showInfo();
System.out.println(" 初始化变量…");
engineer1.name = " 马小云 ";
engineer1.age = 24;
engineer1.title = " 中级软件工程师 ";
System.out.println(" 初始化变量后 :");
engineer1.showInfo();

属性也称为成员变量。

方法内定义的变量为局部变量。

类型

默认值

int

0

double

0.0

char

‘\u0000

boolean

false

String

null

7.3.3 实践练习

7.4 面向对象

7.4.1 面向对象编程

面向对象的思想更有利于开发大型程序,具有很多优点:

  1. 程序设计是要模拟现实世界,帮助解决现实世界中的问题。
  2. 对象的属性和方法被封装在类中, 调用者通过对象完成属性和方法的调用,无需关注实现。
  3. 类作为对象的模板,只需要定义一次,增加了重用性。

7.4.2 数据类型终结

  • Java中的数据类型主要分为以下两类。

基本数据类型:在Java中包含8种基本数据类型,整形(int)、短整型(short)、长整型(long)、字节整数(byte)、字符型(char)、单精度浮点型(float)、双精度浮点型(double)和布尔类型(boolean)。

引用数据类型:引用数据类型有字符串(String),使用class关键字定义的类都属于引用数据类型。例如我们创建一个汽车Car类,使用“Car c = new Car();”创建出的对象c属于创建的Car类型。

  • 基本数据类型共8种,引用数据类型包含Scanner、Random、String等以及用户自定义的类型。
  • 引用数据类型要使用必须创建对象。
  • 引用数据类型要创建变量是通过调用构造方法来完成的。

7.4.3 构造方法

类名 对象名 = new 类名( );

“new 类名 ()”其实就是对构造方法的调用,完成对象的创建。

构造方法语法:

[构造方法访问修饰符] <方法名> ([参数列表]) {
[方法体]
}

示例:定义Cat类,并定义Cat类构造方法

public class Cat {
String name;// 名称
int age;// 年龄
String color;// 颜色 /*构造方法 1*/
public Cat(){
}
/*构造方法 2*/
public Cat(String n,int a,String c){
name = n;
age = a;
color = c;
}
}

有参构造方法可以帮助我们在创建对象时就完成属性的赋值。

//调用默认无参构造方法创建对象
Cat c1 = new Cat();
System.out.printf("c1对象的name,age,color属性分别是%s,%d,%s\n",
c1.name,c1.age,c1.color); //调用有参构造方法创建对象
Cat c2 = new Cat("小白",3,"白色");
System.out.printf("c2对象的name,age,color属性分别是%s,%d,%s\n",
c2.name,c2.age,c2.color);

构造方法与普通方法的区别:

  • 构造方法的名称必须和类名保持一致。
  • 构造方法不能有返回值类型。
  • 构造方法一般用 public 修饰。
  • 构造方法可以完成对类成员变量的初始赋值。

7.4.4 实践练习

总结:

  • 对象是具体的实体,具有特征(属性)和行为(方法)。
  • 类是具有相同属性和共同行为的一组对象的集合,对象或实体所拥有的特征在类中称为属性,对象执行的操作称为类的方法
  • 类是抽象的,对象是具体的。
  • Java中的数据类型主要分为基本数据类型与引用类型。
  • 引用类型对象的创建需要调用构造方法。

Java程序设计基础笔记 • 【第7章 Java中的类和对象】的更多相关文章

  1. Java程序设计基础笔记 • 【目录】

    持续更新中- 我的大学笔记>>> 章节 内容 实践练习 Java程序设计基础作业目录(作业笔记) 第1章 Java程序设计基础笔记 • [第1章 初识Java] 第2章 Java程序 ...

  2. Java程序设计基础笔记 • 【第1章 初识Java】

    全部章节   >>>> 本章目录 1.1 程序的概念及Java语言介绍 1.1.1 生活中的程序 1.1.2 计算机程序 1.1.3 算法和流程图 1.1.4 实践练习 1.2 ...

  3. Java程序设计基础笔记 • 【第2章 变量与数据类型】

    全部章节   >>>> 本章目录 2.1 变量 2.1.1 变量的概念 2.1.2 变量的使用 2.1.3 实践练习 2.2 数据类型 2.2.1 数据类型的种类 2.2.2 ...

  4. Java程序设计基础笔记 • 【第5章 循环结构】

    全部章节   >>>> 本章目录 5.1 while循环结构 5.1.1 循环简介 5.1.2 while循环 5.1.3 while循环的使用 5.1.4 while循环的注 ...

  5. Java程序设计基础笔记 • 【第10章 数组】

    全部章节   >>>> 本章目录 10.1 数组概述 10.1.1 数组优势 10.1.2 Java中的数组 10.1.3 数组的分类 10.2 一维数组 10.2.1 数组的 ...

  6. Java程序设计基础笔记 • 【第6章 循环结构进阶】

    全部章节   >>>> 本章目录 6.1 for循环 6.1.1 for循环的简介 6.1.2 for循环的使用 6.1.3 for循环的表达式 6.1.4 实践练习 6.2 ...

  7. 【Java】《Java程序设计基础教程》第一章学习

    一.Java概述 1.介绍了Java语言的由来 2.Java语言的特点:简单.面向对象.分布式.高效解释执行.健壮.安全.结构中立.可移植.高效率.多线程.动态 3.Java语言的实现机制,引入虚拟机 ...

  8. 深入Java虚拟机读书笔记第五章Java虚拟机

    Java虚拟机 Java虚拟机之所以被称之为是虚拟的,就是因为它仅仅是由一个规范来定义的抽象计算机.因此,要运行某个Java程序,首先需要一个符合该规范的具体实现. Java虚拟机的生命周期 一个运行 ...

  9. Java程序设计基础笔记 • 【第3章 运算符与表达式】

    全部章节   >>>> 本章目录 3.1 运算符(一) 3.1.1 赋值运算符 3.1.2 算数运算符 3.1.3 复合运算符 3.1.4 实践练习(一) 3.1.5 实践练习 ...

随机推荐

  1. 容器的分类与各种测试(三)——deque

    deque是双端队列,其表象看起来是可以双端扩充,但实际上是通过内存映射管理来营造可以双端扩充的假象,如图所示 比如,用户将最左端的buff用光时,map会自动向左扩充,继续申请并映射一个新的buff ...

  2. 如何从 100 亿 URL 中找出相同的 URL?

    题目描述 给定 a.b 两个文件,各存放 50 亿个 URL,每个 URL 各占 64B,内存限制是 4G.请找出 a.b 两个文件共同的 URL. 解答思路 每个 URL 占 64B,那么 50 亿 ...

  3. shell神器curl命令的用法 curl用法实例笔记

    shell神器curl命令的用法举例,如下: ##基本用法(配合sed/awk/grep) $curl http://www.jquerycn.cn ##下载保存 $curl http://www.j ...

  4. Spring实现类私有方法测试通用方案

    现实的业务场景中,可能需要对Spring的实现类的私有方法进行测试. 场景描述: 比如XXXService里有 两个函数a.函数b. 而实现类XXXServiceImpl中实现了函数a.函数b,还包含 ...

  5. shell脚本 检查mysql节点数据一致性

    一.简介 源码地址 日期:2018/4/12 介绍:参考pt checksum思想改写,可以定制化的检查随意两个mysql节点的数据一致性. 功能: 检查随意两个几点的数据一致性 支持并发检查,基于库 ...

  6. 什么是mysql innodb cluster?

    目录 一.简介 二.特性 一.简介 MySQL InnoDB集群提供了一个集成的,本地的,HA解决方案.MySQL InnoDB集群由以下几部分组成: MySQL Servers with Group ...

  7. 在【自定义列】中使用M函数(Power Query 之 M 语言)

    数据源: "品名"一列 目标: 提取品名中的首字符,生成新列:"品名简称" 解决方案: 在[自定义列]中使用M函数Text.Start 步骤: 打开[自定义列] ...

  8. CF1443A Kids Seating 题解

    Content 有 \(t\) 组询问,每组询问给定一个数 \(n\),试构造出一个长度为 \(n\) 的数列 \(\{a_i\}_{i=1}^n\),使得: \(\forall i\in[1,n], ...

  9. MAMP的使用

    MAMP下载并安装 下载地址:https://pan.baidu.com/s/1TgoKBG3F59NGO8lEj9mf4Q 密码:2m3d 安装:按照提示,一直下一步直到完成 MAMP操作

  10. ORACLE数据库登录显示ORA-28001: the password has expired

    Oracle数据库登录显示 "这个密码已过期,请输入新密码" 点击win键 找到Oracle的SQL Plus 点击打开之后输入登录的用户名密码,然后会显示该密码已过期,输入新口令 ...