面向对象

面向对象
【面向对象】是Java程序设计中的一种思想
	万物皆可为对象,有共同属性和行为的归为一类。
	我们的世界中每个独立个体都是一个对象(不是女朋友哦~),现实中会发现身边有很多对象,
	车,手机,人等等。
	
	Java中的对象就是现实对象的一种映射,把现实中的事物映射到程序中去,从而开发出
	符合我们生活逻辑的程序。
		
	对象:是类的一个实例,唯一的,独立的,特殊的【个体】。
	类:类就是一类事物的统称例如人类,猴类等。是一个模板,它用来描述一类对象的【属性】
	    和【状态】。
	例如:一条狗是一个对象,它的属性有:颜色、名字、品种等;行为有:摇尾巴、叫、吃等;

【面向对象】:
	用合适的对象,处理合适的事,节省大量的时间和效率

【面向过程】:
	亲力亲为,亲自参与每一个过程,每个过程都要自己经历一下
	
	

人类是【类】而人类中具体某个人如张三就是【对象】

对象
人类张三、李四、王五
狗类旺财、大黄
手机类张三的华为Mate20
创建一个类  
class 类名 {
 	// 属性描述 
	变量
	// 行为描述
	方法
}
例如:人类
class Person {
    /*
      属性描述  用变量描述
    */
	int age; //年龄
	String name; //姓名
	char gender; // boolean gender; 性别描述
	
	/*
	 行为描述 使用方法来完成
	*/
	// 这是描述吃的方法
    public void eat() {
    	System.out.println("面包");
    }
    
 	// 睡觉描述   
    public void sleep(int time) {
        System.out.println("张三睡了" + time + "个小时");
    } 
}

public class Demo1 {
	public static void main(String[] args) {
		/*
		创建一个Person类对象,实例化对象
		*/
		Person p1 = new Person();
		
		/*
		通过类对象,操作当前类对象的成员变量
		*/
		p1.name = "王二";
		p1.age = 16;
		p1.gender = '男';
		
		System.out.println("Name : " + p1.name);
		System.out.println("Age : " + p1.age);
		System.out.println("Gender : " + p1.gender);
		
		/*
		通过Person类对象,调用类内的成员方法
		*/
		p1.eat();
		p1.sleep(6);
	}
}

【局部变量】:在方法、构造方法或者语句块中定义的变量被称为局部变量。
             变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
             
【成员变量】:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。
             成员变量可以被类中方法、构造方法和特定类的语句块访问。
             
【类变量】:也称【静态变量】,类变量也声明在类中,方法体之外,但必须声明为static类型。
           如:static int age;
           
           一个类可以拥有多个方法,在上面的例子中:eat()sleep()都是Person类的方法。
构造方法
每个类都有【构造方法】。如果没有显式地为类定义【构造方法】,Java编译器将会为该类提供一
个默认【构造方法】。在创建一个对象的时候,至少要调用一个【构造方法】。【构造方法】的名称
必须与类同名,一个类可以有多个【构造方法】。

【构造方法】的作用:
	初始化当前类对象空间内的成员变量。

【构造方法】的格式:
	public 类名(/* 根据实际情况需要的初始化参数 */) {
        初始化语句
	}
		
class Dog {
	// 成员变量 Field
	String name;
	String color;
	int age;
	char gender;
	
	// 构造方法 Constructor
	public Dog() {
		System.out.println("无参数构造方法");
	}
	
	// 带有一个参数的构造方法,初始化Dog类的name属性
	public Dog(String n) {
		System.out.println("初始化name属性的构造方法");
		name = n;
	}
    
	public Dog(String c, String n) {
		System.out.println("初始化颜色的方法");
		color = c;
		name = n;
	}
	
	// 带有两个参数的构造方法
	public Dog(String n, int a) {
		System.out.println("初始化name属性和age属性的构造方法");
		name = n;
		age = a;
	}
	
	// 成员方法 Method
	public void eat() {
		System.out.println("狗狗最好吃狗粮");
	}
	
	public void sleep() {
		System.out.println("狗狗到10点就睡觉");
	}
}

public class Demo2 {
	public static void main(String[] args) {
		Dog dog1 = new Dog();
		System.out.println("Dog1.name : " + dog1.name);
		
		Dog dog2 = new Dog("旺财");
		System.out.println("Dog2.name : " + dog2.name);
		
	}
}
【构造方法】的注意事项:
	1. 构造方法必须是【类名】,其他方法绝对不允许使用【类名】
	2. 构造方法没有返回值类型
	3. 构造方法可以根据自己的实际需求来选择初始化的成员变量,传入不同的参数,但是在定义
	   类时,建议一定要定义一个无参构造方法留着备用类时,建议一定要定义一个无参构造方法留
	   着备用
	4. 构造方法中不允许出现参数类型,个数,顺序一模一样的方法。编译报错

【注意】在Java中方法的执行,数据类型是一个非常重要的参考条件,而参数的名字无所谓
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值