第六天,终于到面向对象了
一、面向对象
1.1 为什么要面向对象
信息是立体的,面向对象可以使我们访问一个对象的字段非常方便。
1.2 面向对象的基本形式
- 类的定义
格式:
public class 类名 {
//成员属性
public 数据类型 变量名;
//成员方法
public 返回类型 函数名(数据类型 形参1, 数据类型 形参2,...) {
执行语句;
return 返回值;
}
}
- 对象的声明
格式:
类名 对象名 = new 类名();
类名.成员属性 = 值;
- 对象的数组/集合
对象也可以组成数组或集合,其格式与String相同,其格式:
类名[] 数组名 = { 成员1, 成员2, 成员3, ...};
二、相关关键词
2.1 public/private
-public 公共的 权限最大,可以跨类调用,可以跨包调用。
-private 私有的 权限最小,只能本类内部调用。
2.2 static
-static 静态的 有该关键词的成员依附于类,而不依附于具体对象。所有对象共享该成员。
三、解释常用的输出语句
import java.io.PrintStream;
public class Test {
public static void main(String[] args) {
System.out.println("HelloWorld");
PrintStream stream = System.out;
stream.println("HelloWorld");
}
}
运行结果:
可以看出来,这两句代码的效果是一样的。由 System.out 可以看出,System 应该是一个类,而 out 是它的一个静态的成员属性。由 PrintStream stream = System.out 可以看出来 out 的类型为 PrintStream,这个 PrintStream 应该也是一个类。由 stream.println() 这句可以看出 println() 是 PrintStream 类的一个成员方法。
根据推测,可以进行一系列测试:
public class MySystem {
public static MyPrintStream myOut;
}
public class MyPrintStream {
public static void myPrintln(String str) {
System.out.println(str);
}
}
public class Test {
public static void main(String[] args) {
MySystem.myOut.myPrintln("HelloWorld");
}
}
运行结果:
根据运行结果验证了之前的推测。