/*一、 面向思想的落地法则一
* 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("一二三");
//}
}
}
面向思想的落地法则一
最新推荐文章于 2021-08-18 10:52:01 发布