第七章 类和对象
程序员文章站
2022-07-13 21:45:25
...
背景
随着软件规模逐渐庞大,结构化语言的弊端也逐渐暴露出来。
面向对象思想是人类最日然的一种思考方式。
它将所有预处理的问题抽象为对象,同时了解这些对象具有哪些相应的属性以及展示这些对象的行为,以解决这些对象面临的一些实际问题。
面向对象程序设计特点:
封装性,继承性,多态性
静态变量、常量和方法
静态成员使用 【类名.静态成员】 的方式进行调用
虽然可以使用 对象.静态成员 的方式调用,但是不推荐,容易混淆静态成员和非静态成员
静态方法中不可调用非静态方法,静态方法中不可以含有this关键字
注意: Java中规定 不能将方法体内的局部变量声明为static
例:
public class example{
public void method(){
static int i = 0 ; // 错误
}
}
技巧: 如果在执行类的时候,先执行类的初始化动作,可以使用static定义一个静态区域
例:
public class example{
static {
// some
}
}
课后练习
// 创建类,创建两个成员方法,实现成员变量赋值和获取
public class Student {
private String name;
public Student(String name) {
this.name = name ;
}
public void getName() {
System.out.println(this.name);
}
public void setName(String name) {
this.name = name;
}
public static void main(String[] args) {
Student stu1 = new Student("123");
stu1.setName("叮叮车");
stu1.getName();
}
}
// 矩形类构造,求面积
public class Rectangle {
private int length;
private int width;
public Rectangle(int length, int width) {
this.length = length;
this.width = width;
}
public void calcArea() {
int res = this.length * this.width;
System.out.println("The area of rectangle is " + res);
}
public static void main(String[] args) {
Rectangle rec = new Rectangle(2,3) ;
rec.calcArea();
}
}
// 根据运行参数个数,决定循环打印变量i值的次数
public class Practice6_args {
public static void main(String[] args) {
for(int i = 0 ; i < args.length ; i ++) {
System.out.println(args[i]);
}
}
}
上一篇: 安卓控件隐藏和显示动画