欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第七章 类和对象

程序员文章站 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]);
		}
	}
}