类和对象

一、类的引入

1、数据的存储

在没有类之前我们通过变量和数组来存储数据:

1)用变量来存储学生信息:

//第一个学生的信息
	String s1name = "张白";
	int s1age = 18;
	String s1gender = "女";
//第二个学生的信息	
	String s2name = "李明";
	int s2age = 19;
	String s2gender = "男";

我们发现用单独变量来存储数据不利于数据的管理,我们这里是用三个变量将学生的

信息拆解了,如果学生数目比较多管理起来很不方便。

2)用数组来存储学生信息

//第一个学生的信息
	String s1 [] = {"张白","18","女"};
//第二个学生的信息
	String s2 [] = {"李明","19","男"};

用数组存储信息比起用单个变量来说要方便,但是用数组存储有三个问题:

1、无法体现数据类型,我们只能用一种数据类型表示所有数据

2、只能通过数组下标获取数据,变量名和内容对应关系不明确

3、无法体现行为

因此使用这两种方法不利于数据的管理,而且效率很低,所以引入了类与对象;

Java设计者引入 类与对象(OOP),根本原因就是现有技术不能完美解决新的需求

3)使用类来存储数据

public class Object01 {
public static void main(String[] args) {
//实例化一个学生,即创建一个学生对象
	Stu s1 = new Stu();		//new Stu()  创建一个学生   
							//这个语句可以理解为创建一个学生然后赋给s1,s1就是一个对象
	Stu s2 = new Stu();
	s1.name = "张白";
	s1.age = 18;
	s1.gender = "女";
	s1.weight = 110.10;
	s2.name = "李明";
	s2.age = 19;
	s2.gender = "男";
	s2.weight = 120.20;
	System.out.println("第一个学生的信息是"+s1.name+s1.age+s1.gender+s1.weight);
	System.out.println("第一个学生的信息是"+s2.name+s2.age+s2.gender+s2.weight);
	}	
}

class Stu{
	//属性
	String name;
	int age;
	String gender;
	double weight;        //在这里可以很方便的创建属性
}

new Stu()   是真正的对象空间,它是真正的对象。s1指向对象,我们通过s1来找到真正的对象,所以把s1也叫对象引用 

 

二、类与对象

1、类与对象的关系

类可以描述现实事物,通常说类是一类相同特性现实事物的模板

类具有的功能对象就会具有,对象的功能取决于类怎么设计,设计类就是设计类的成员;

常见的类的成员有:

1、属性:对应类中的成员变量

2、方法:对应类中的成员方法

学生有姓名、身高、体重等属性,有学习、踢球、跑步等行为

调用类中的属性或方法需要创建对象调用

2、对象的主要组成

对象主要由属性和行为构成

我们把学生的所有属性、行为提取出来形成一个学生类,这个学生类也是一种数据类型;

类似于int --整型,我们可以存储整数,这是Java提供的,而 类 是我们根据自己的需求自定义的数据类型。

int 是整型,它可以存储整数如10,20等具体的数

类也是一种数据类型,那我们也可以针对学生类定义具体的学生,这个具体的学生实例就是对象

3、属性

属性也称成员变量,它是类的一个组成部分;

属性一般是基本数据类型(八种),也可以是引用类型(对象、数组)

1、属性的定义语法同变量,实例:      访问修饰符  属性类型  属性名

     访问修饰符:控制属性的访问范围,四种访问修饰符分别为public、private、protected、default(什么都没有)

2、属性的定义类型可以为任意类型,包含基本数据类型(byte、short、int、long、float、double、char、boolean)和引用类型(对象、数组)

3、属性如果不赋值则有默认值,规则和数组一致

byte --0        int --0            short --0        long --0         float --0.0        double --0.0           

char -- \u000            boolean -- false        String -- null

public class Object02 {

	public static void main(String[] args) {
		Person p = new Person();
		System.out.print("输出个人信息:");
		System.out.println("name="+p.name+" "+"age="+p.age+" "+"gender="+p.gender);
	}
}
class Person{
	//属性
	String name;
	int age;
	String gender;
}

 控制台输出:

输出个人信息:name=null age=0 gender=null

4、对象的创建

对象的创建分为两种:

//先声明,再创建		
		Stu s1;
		s1 =new Stu();
//直接创建
		Stu s1 = new Stu();

 对象是计算机根据类 在内存创建的一个存储空间,从存储数据的角路理解:

一个变量存储一个数据

一组相同数据类型的数据使用数组存储

不同数据类型的数据使用对象存储

 访问属性基本语法:

  对象名.属性名            s1.name

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值