练习1 面向对象的理解
使用手机打电话时
在手机拨号页面输入号码,然后拨通电话,这是面向过程
在手机通讯录找到联系人,然后拨通电话,这是面向对象
这两种思想各有优缺点,并非面向对象最好。
在某些时候,使用面向过程更好,比如我们之前的练习, 这样方便理解学习。
正如日常生活中,我们也会使用面向过程来拨打电话一样。一些重要的电话比如110、119、120。
package com.cnblogs.www.demo8.test1;
public class Dog { //类,具有相同特性和行为的对象集合
int size; //实例变量 size表示大小、尺寸
String breed ; //实例变量 breed表示种类
String name ; //实例变量 name表示名字
}
package com.cnblogs.www.demo8.test1;
public class DogTest {
public static void main(String[] args) {
//以类为模板,创建三个对象,每个对象之间互不影响。
//不深究,简单理解就是因为,类的每个对象维护它自己的一份实例变量的副本。
//有需求更改的话,创建对象后使用对象名调用的形式更改。
Dog d = new Dog();
d.size = 40; //修改实例变量
System.out.println(d.size);
Dog e = new Dog();
e.size = 60; //修改实例变量
System.out.println(e.size);
Dog f = new Dog();
f.size = 80; //修改实例变量
System.out.println(f.size);
}
}
练习2 类变量、实例变量、局部变量的区分
package com.cnblogs.www.demo8.text2;
public class Demo {
static int a = 1; //类变量:独立于方法之外,使用static修饰,也称静态变量,多用于声明常量
public int b = 2; //实例变量:独立于方法之外,在实体类中被称为属性
public void c() {
int d = 1; //局部变量:只在方法中有效
//由于局部变量只存在于方法中,所以想要打印输出,可以先在方法中打印输出,然后通过对象调用这个方法
System.out.println("局部变量: " +d);
}
}
package com.cnblogs.www.demo8.text2;
public class DemoTest {
public static void main(String[] args) {
Demo o = new Demo(); //声明一个对象并初始化实例
System.out.println("实例变量: "+ o.b);
o.c(); //调用类中的方法
}
}