面向思想的落地法则一

/*一、 面向思想的落地法则一
 * 1.设计类,并设计成员(成员变量和成员方法)
 * 2.通过类,来创建类的对象(也称类的实例化)
 * 3.通过“对象.属性”和“对象.方法”来调用,完成相应方法*
 * 
 * 二、创建多个对象,彼此各自拥有一套类的属性。当对其中一个对象的属性进行修改时,
 * 不会影响到其他对象的属性值。
 * 三、累的属性(成员变量)
 *     成员变量 VS 局部变量
 *     相同点:1都遵循变量声明的格式:数据类型 变量名=初始化值
 *             2.都作用域 即像花括号里 public{}class{}
 *     不同点:1.声明的位置的不同:成员变量:声明在类里,方法外
 *                                局部变量:声明在方法内,方法的形参部分,代码块内 
 *             2.成员变量的修饰符有四个:public private protetcted 缺省  String name;int age;  
 *               局部变量没有修饰符,与所在的方法修饰符相同
 *             3.初始化值:一定会有初始化值
 *               成员变量:如果在声明的时候,不显示的赋值,那么不同的数据类型会有不同的默认初始化值。
 *               byte short int long ==>0
 *               flaot double ==>0.0
 *               char ==>空格
 *               boolean ==>false
 *               引用类型变量 ==null 
 *               局部变量:一定要显示的赋值。(局部空间没没有初始化值)
 *              4.二者在内存存放的位置不同:成员变量存放在堆空间中;
 *                                         局部变量:存放在栈空间中setName(String n)
 * 四、类的方法 提供某种功能的实现就叫做方法
 * 				1.实例:public void eat(){}
 * 					public String getName(){return}
 * 					public void setName(String n){ name=n;} 一调用这个方法 p1.setName() 字符串就赋给n,在通过n=name;直接调属性==p1.name;
 * 		          格式:权限修饰符 返回值类型 (void:无返回值或者有具体的返回值 ) 方法名(形参){方法体}
 * 				2.返回值类型:void:表明此方法不需要返回值
 * 						         有返回值的方法:在方法最后一定有return+返回值类型对应的变量   
 * 				3.方法内可以调用类的反法或属性,但不在方法内再定义方法*/
public class TestZoo {
	public static void main(String[] args) {
		int i,age;
		//这写报错age+=i;
		//ai就是个实实在在的对象
		Animal a1=new Animal();
		//通过对象调用属性
		a1.name="大象";
		a1.age=5;
		System.out.println("name:"+a1.name+"age:"+a1.age);
		//通过对象调用方法
		a1.eat();
		a1.sleep();
		a1.info();
		
		//在创建一个a2对象时 修改a2 不会影响到a1
		Animal a2= new Animal();
		a2.name="老鼠";
		a2.age=9;
		System.out.println("name:"+a2.name+"age:"+a2.age);
		//a3不意味着相较于 a1重新创建对象,而是a1与a3公用一个实体
		Animal a3=a1;//相当于前面学到的数组 值传递把 a1的首地址给了a3 
		a3.name="大海";
		System.out.println("name:"+a3.name+"age:"+a3.age);
		
		a1.desc();
		System.out.println(a1.desc());
		System.out.println("A1 name:"+a1.name+"age:"+a1.age);
		
		a1.addAge();//我以调用addAge方法,在a1对象的age属性上加3 
		System.out.println(a1.age);//前面又给a1.age=3;在打印就结果为3
		
	}

}

class Animal{
	//1.属性
	String name;
	int age;
	
	//2.方法
	public void eat(){
		System.out.println("动物进食");
	}
	public void sleep(){
		System.out.println("睡觉");
	}
	
	public String getNane(){
		return name;
	}
	public void setName(String n){//n 局部变量
		name=n;//n 局部变量
	}
	
	public void info(){
		System.out.println("name:"+name+"age:"+age);
	}
	public void addAge(){
		int i=3;//在方法里的定义的也是局部变量
		age+=i;
	}
	//当对象调用此方法时,会将方法的方法返回值提供给方法的调用者,即当前的对象
	public String desc(){
		if(age>1){
			return "一二三";
			}else{
				return "四五六";
			}
		}
	public void Runing(){
		//可在方法内调用本类的方法,但不可以在方法内定义新的方法
		info();
		eat();
		//public void setOk(){
		//	System.out.println("一二三");
		//}
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值