众所周知:java是一门面向对象的编程语言
本章将介绍基础的类和对象
一.对象
对象是用来描述客观事物的一个实体,由一组属性和方法构成
二.封装
封装就是把一个事物包装起来,并尽可能隐藏内部细节
三.类
类定义了对象将会拥有的特征(属性)和行为(方法)
类的属性:
对象拥有的静态特征在类中表示时称为类的属性
类的方法:
对象执行的操作称为类的方法
四.类和对象的关系
类和对象的关系是抽象和具体的关系
类是对象的类型,对象是类的实例
对象的属性和方法被共同封装在类中,相辅相成,不可分割
五.java的类模板
1.语法:
pubilc class <类名>{ //定义属性部分 属性1的类型 属性1; 属性2的类型 属性2; ...... 属性n的类型 属性n; //定义方法部分 方法1; 方法2; ...... 方法n; }
解析:
在java中创建一个类,需要使用一个class,一个类名和一对大括号
(1)class是创建类的关键字
(2)class前的public,表示公有的意思
(3)编写程序时,要注意编码规范,不要漏写public
(4)在class关键字的后面要给定义的类命名,然后写上一对大括号,类的主体部分就写在{}中
2.类的命名规则:
(1)不能使用java中的关键字
(2)不能包含任何嵌入的空格或点号".",以及除下划线"_",字符"$"外的特殊字符
(3)不能以数字开头
3.编写类的属性:
通过在类的主体中定义变量来描述所具有的静态特征(属性),这些变量称为类的成员变量
4.编写类的方法:
通过在类中定义方法来描述类所具有的行为,这些方法称为类的成员方法
六.创建和使用对象
类的作用就是创建对象,称为类的实例化过程
一个实例也就是一个对象,一个类可以生成多个对象
1.创建对象语法:
类名 对象名 = new 类名(); //在创建类的对象时,需要使用java的new关键字
2.引用对象语法:
对象名.属性 //引用对象的属性 对象名.方法名(); //引用对象的方法 //要引用对象的属性和方法,需要使用"."操作符。其中,对象名在原点的左边,属性或方法的名称在原点的右边
七.面向对象的优点
1.与人类的思维习惯一致
2.信息隐藏,提高了程序的可维护性和安全性
3.提高了程序的可重用性
八.使用类和对象的步骤
1.定义类:使用关键字class
2.创建类的对象:使用关键字new
3.使用类的属性和方法:使用"."操作符
九.Java数据类型的默认值
类型 |
默认值 |
int | 0 |
double | 0.0 |
char | '\u0000' |
boolean | false |
String | null |
十.示例:
import java.util.Scanner; public class Objects_010 { //定共有的成员属性 String name; int hp; //英雄系统 public void yx() { System.out.println("我是英雄,我的基本信息如下:"); System.out.println("姓名:" + name + "\t生命值:" + hp); } //怪物系统(怪物类型设为独有的lx属性(有参方法)) public void gw(String lx){ System.out.println("我是怪物,我的基本信息如下:"); System.out.println("姓名:" + name + "\t生命值:" + hp+"\t类型:"+lx); } //武器系统(武器攻击力类型设为独有的gjl属性(有参方法)) public void wq(String gjl){ Scanner bdqn = new Scanner(System.in); gjl =bdqn.next(); System.out.println("我是武器,我的基本信息如下:"); System.out.println("武器名:" + name + "\t攻击力:"+gjl) ; } public static void main(String[] args) { Objects_010 a = new Objects_010(); //使用new关键字创建类的对象 Scanner bdqn = new Scanner(System.in); //创建扫描仪 System.out.println("请输入英雄的基本信息:"); System.out.println("姓名:"); a.name=bdqn.next(); //使用“.”操作符点出属性 System.out.println("生命值:"); a.hp=bdqn.nextInt(); //使用“.”操作符点出属性 a.yx(); //为英雄信息赋值并输出 System.out.println("\n请输入怪物的基本信息:"); System.out.println("怪物名:"); a.name=bdqn.next(); //使用“.”操作符点出属性 System.out.println("生命值:"); a.hp=bdqn.nextInt(); //使用“.”操作符点出属性 String lx = bdqn.next(); //为怪物系统中有参方法中的局部参数提前定一个变量在引用方法时使用 System.out.println("类型:"); a.gw(lx); //为怪物信息赋值并输出,括号内是引用的前面的变量值给怪物系统中的参数 System.out.println("\n请输入武器的基本信息:"); System.out.println("武器名:"); a.name=bdqn.next(); //使用“.”操作符点出属性 System.out.println("攻击力:"); String gjl = bdqn.next(); //为武器系统中有参方法中的局部参数提前定一个变量在引用方法时使用 a.wq(gjl); //为武器信息赋值并输出,括号内是引用的前面的变量值给武器系统中的参数 } }