面向对象和封装

1.如何使用面向对象进行程序设计

第一步.发现类

第二步.发现类的属性

第三步.发现类的方法

使用类图来描绘一个类


2.创建类和对象

/**
 * 狗类
 * */
class Dog {
	String name; //姓名
	int health;	 //健康值
	int love;	 //亲密度
	String strain;//品种
	//打印属性的方法
	public void print(){
		System.out.println("我的名字是:"+name+"。健康值"+health+"。我和主人的亲密度"+love+"。我的品种是"+strain);
	}
}

上图我们创建了一个狗的类,只要每次需要使用这个类的时候我们就创建这个类的对象就好

//创建狗类的对象
		Dog dog=new Dog();
		//给狗类的属性赋值
		dog.name="小白";
		dog.health=100;
		dog.love=100;
		dog.strain="哈士奇";
		//调用打印的方法
		dog.print();

4.关于final的使用及规范

1.单词必须全部大写

2.如果由若干个单词组成则使用下划线来间隔.(示例:final String SEX_MALE="Q仔")

3.一旦定义成功就无法改变其值

5.构造方法及重载

同一个类中,方法名相同,参数列表不同,这称为构造方法的重载。

可以通过构造方法的重载实现多种初始化行为,在创建对象时可以根据需要选择合适的构造方法。

/**
 * 企鹅类
 * */
public class Penguin1 {
	String name="无名氏"; 	//昵称
	int health=100;			//健康值
	int love=80;			//亲密度
	String sex="Q仔";		//性别
	/**
	 * 无参构造方法
	 * */
	public Penguin1(){
		name="菲菲";
		love=20;
		sex="Q妹";
		System.out.println("执行构造方法");
	}
	/**
	 * 两个参数的构造方法
	 * */
	public Penguin1(String name,String sex){
		this.name=name;
		this.sex=sex;
	}
	/**
	 *四个参数的构造方法
	 * */
	public Penguin1(String name,int health,int love,String sex){
		this.name=name;
		this.health=health;
		this.love=love;
		this.sex=sex;
	}
	/**
	 * 输出企鹅的信息
	 * */
	public void print(){
		System.out.println("我的名字是:"+name+"。健康值"+health
				+"。我和主人的亲密度"+love+"。我的品种是"+sex);
	}
	/**
	 * 测试构造方法
	 * */
	public static void main(String[] args) {
		Penguin1 pgn=null;
		pgn=new Penguin1();
		pgn.print();
		pgn=new Penguin1("小小","Q妹");
		pgn.print();
		pgn=new Penguin1("萧萧",70,100,"Q仔");
		pgn.print();
	}
}

如果同一个类中包含了2个及以上的方法,它们名称一样,方法的参数个数和参数类型不同,则称该方法被重载了,这个过程被称为重载。成员方法和构造方法都可以重载。

6.static修饰符

static的使用及常见错误

static可以用来修饰变量和方法、代码块。

static修饰的变量属于这个类所有,即由这个类创建的所有对象共用同一个static变量。

结论

1.在加载类的过程中,完成静态变量的内存分配,在执行静态块,两者是在创建对象之前执行的。

2.类属性和类方法可以通过类名和对象名访问,实例属性和实例方法只能通过对象名访问。

3.类方法只能访问类属性和其他类方法。

4.静态不能访问非静态的数据。

5.方法里面是不可以定义static变量。

6.构造方法没有返回值类型,如果有则不是构造方法,而是和构造方法同名的成员方法。

猜你喜欢

转载自blog.csdn.net/qq_41632129/article/details/79417125