JAVA 面向对象、类、类中的成分、构造器

面向过程:c语言,开发中小型项目的效率很高。
面向对象:Java或C++等语言,适合大型开发场景。

面向过程思想:实现一个功能,看每个步骤怎么做,整体的过程是怎么样的。每一个步骤都需要自己亲力亲为。
面向对象思想:实现一个功能,不看重具体的过程和步骤,关心“谁能帮我做这件事”。
面向对象三大特征:封装性,继承性,多态性。

举例一.把数组转换成指定格式字符串

public class Demo01PrintArry {
	public static void main(String[] args) {
		int[] array = { 10, 20, 30, 40, 50 };

//		面向过程,每一个步骤细节都需要亲自处理
		System.out.print("[");
		for (int i = 0; i < array.length; i++) {
			if (i == array.length - 1) {
				System.out.print(array[i] + "]");
			} else {
				System.out.print(array[i] + ",");
			}
		}

//		面向对象,JDK中有个工具Arrays,可将这个工具将数组转换为指定格式字符串
		// 我自己不做,找Arrays帮我把数组转换成指定格式字符串
		String str = Arrays.toString(array);
		System.out.println(str);
	}
}

类与对象的关系:
现实中的事物分为两部分:
1.属性:事物的特征描述信息,“是什么”。
2.行为:事物的能力行动方案,“能做什么”。

面向对象中,类 是用来模拟现实事物的。
类中也有属性、行为两个组成部分,对象是类的具体实例;

类:是描述相同事物的共同特征的抽象。人类。
对象:是具体存在的实例,是真实的。实例==对 象。

1.类:抽象的,描述信息功能,不能实际使用。是一张电脑设计图。
2.对象:具体的,根据类创造出来的,可以实际使用。也叫做根据类,实例化对象。是一个真正的电脑。

类的定义:类 是用来模拟现实事物的代码手段,事物分为属性和行为。
1.成员变量(属性):在变量的位置直接定义在类中,在方法外,即为成员变量。
2.成员方法(行为):普通方法去掉static关键字,即为成员方法。

一个类通常不能直接使用,如果要使用这个类,通常都需要根据类创建一个真正的对象来使用。
如果根据类创建对象:

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

举例.定义一个类用来模拟现实事物“学生”。

//属性:姓名、年龄
//行为:吃饭、睡觉、学习

//对应到类中:
//成员变量(属性):Sting name、int age
//成员方法(行为):
//public void eat(){}   吃饭  
//public void sleep(){}  睡觉
//public void study(){}	学习

public class Student {
	// 成员变量
	String name; // 姓名
	int age; // 年龄

	// 成员方法
	public void eat() {
		System.out.println("吃饭饭!");
	}

	public void sleep() {
		System.out.println("睡觉觉!");
	}

	public void study() {
		System.out.println("学习!");
	}
}
public class Demo02Student {
	public static void main(String[] args) {
		// 创建了一个对象,是一个学生,对象名叫stu1
		// 对象的名称stu1特叫做对象的“引用名”
		Student stu1 = new Student();
		Student stu2 = new Student();
		Student stu3 = new Student();
		Student stu4 = new Student(); // 更多学生对象
	}
}

如何使用创建好的对象?
类当中已经定义好了两个组成部分:成员变量、成员方法
所以,根据类创建出来的对象也有这两个部分。

如何使用对象中的 成员变量?

  • 对象名.成员变量名;
    注意:对应成员变量来说,如果没有赋值,那么将会有一个默认值。例如int为0,String为null。

如何使用对象中的 成员方法?

  • 对象名.成员方法名(参数);

总结:想用谁就点调用谁。

public class Demo03Student {
	public static void main(String[] args) {
		Student stu = new Student(); // 创建一个学生对象

		System.out.println(stu.name); // 默认值null
		System.out.println(stu.age); // 默认值0

		// 改变成员变量的数据值
		stu.name = "鹿晗";
		stu.age = 20;
		System.out.println(stu.name); // 鹿晗
		System.out.println(stu.age); // 20

		// 将对象当中的成员变量,交给name变量
		String name = stu.name;
		System.out.println(name);// 鹿晗

		// 使用对象当中的成员方法
		stu.eat(); // 调用吃饭的成员方法
		stu.sleep();// 调用睡觉的成员方法
		stu.study();// 调用学习的成员方法
	}
}

3.定义一个类,用来模拟手机事物。

  • 手机事物
    属性:品牌、价格、颜色
    行为:打电话、发短信

  • 对应到类中

  • 成员变量:
    String brand; 品牌
    double price; 价格
    String color; 颜色

  • 成员方法:
    public void call(Sting who) {…} 打电话的方法
    public void sendMessage() {…} 群发短信

public class Phone {
	String brand; // 品牌
	double price; // 价格
	String color; // 颜色

	public void call(String who) {
		System.out.println("给" + who + "打电话");
	}
	public void sendMessage() {
		System.out.println("群发短信!");
	}
}
  • 如何使用定义好的类?
    类既是一种引用数据类型,使用起来可以分成三步:
    1.导包
    如果需要使用的目标类,和当前类(有main方法)位于同一个包之下,那么可以省略导包
    否则需要使用import导包语句
    2.创建
    类名称 对象名 = new 类名称();
    3.使用
    使用成员变量:对象名.成员变量名
    调用成员方法:对象名.成员方法名(参数)
public class Demo04PhoneOne {
	public static void main(String[] args) {
		//根据Phone类创建一个手机对象,名叫one
		Phone one = new Phone();
		
		//访问成员变量的默认值
		System.out.println(one.brand);//null
		System.out.println(one.color);//null
		System.out.println(one.price);//0.0
		
		one.brand = "苹果";
		one.price = 8888;
		one.color = "土豪金";
		System.out.println(one.brand);//苹果
		System.out.println(one.color);//土豪金
		System.out.println(one.price);//8888.0
		
		//调用成员方法
		one.call("乔布斯");
		one.sendMessage();
		
		//将one中存储的地址值赋值交给two一份
		//one跟two用的同一个对象,好比买卖二手房
		Phone two = one;
		System.out.println(two.brand);//苹果
		System.out.println(two.color);//土豪金
		System.out.println(two.price);//8888.0
		
		two.brand = "三星";
		two.price = 6666;
		two.color = "星空粉";
		
		System.out.println(two.brand);//三星
		System.out.println(two.color);//星空粉
		System.out.println(two.price);//6666.0
		
		System.out.println(one.brand);//三星
		System.out.println(one.color);//星空粉
		System.out.println(one.price);//6666.0
	}
}

类中的成分研究:

1.成员变量(Field:描述类和对象的属性信息的)
2.成员方法(Method:描述类或者对象的行为信息的)
3.构造器(Constructor :初始化一个类的对象并返回引用):构造方法就是构造器
4.代码块
5.内部类

注意
只要不是这无大成分放在类下就会报错


构造器

作用:初始化一个类的对象并返回引用。
格式:

修饰符 类名(形参){

}

构造器初始化对象的格式:

类名 对象名称= new 构造器;

例如:

Student s1 = new Student();

一个类默认会自带一个无参数构造器,即使不写它也存在;
但是如果一个类,它写了一个构造器,那么默认的无参数构造器就被覆盖了! !

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值