关于今天的知识点,已经做好笔记放在封面。
下面总结几点,一定要清楚地概念是:类与对象的区别。类是对一类事物的描述,是抽象的;而对象是实际存在的该事物的每个个体。面向对象设计的重点是类的设计,而类的设计的重点是成员的设计。如何调用,通过 ” 对象.属性 “或者“对象.方法”。
其中对象与数组相似,直接赋值的话是地址的赋值。
比如下面这个例子:
package com.atjialiang;
/*
*
*
*/
//测试类
public class PersonTest {
public static void main(String[] args)
{
//创建Person类的对象 = 类的实例化
Person p1 = new Person();
// Scanner scanner = new scanner(System.in);
//调用对象的结构,属性,方法
//调用属性: 对象.属性
p1.name = "Tom";
p1.isMale = true;
p1.age = 18;
System.out.println(p1.name);
//调用方法 : 对象.方法
p1.eat();
p1.sleep();
p1.talk("chinese");
//这里是地址赋值!!!导致p1和p3指向了堆空间的同一个对象实体
Person p3 = p1;
System.out.println(p3.name);
//所以对p3赋值也就是对p1赋值 **********
p3.age = 10;
System.out.println(p1.age);
}
}
class Person{
//属性
String name;
int age;
boolean isMale;
//方法
public void eat()
{
System.out.println("可以吃饭");
}
public void sleep()
{
System.out.println("可以睡觉");
}
public void talk(String language)
{
System.out.println("可以说话,说的是: " + language);
}
}
然后,我学会了,调用类中属性和方法。如下:
这里是创建了一个Person类:里面有属性和方法
package com.atjialiang.exer;
/*
* person类
* name:String
* age:int
* sex:int
*
* +study():void 输出字符串"studying"
* +showAge():void 显示age
* +addAge(int i):int 加两岁
*
*
*/
public class Person {
String name;
int age;
/**
* sex:1 男性
* sex:2 女性
*/
int sex;
public void study()
{
System.out.println("studying");
}
public void showAge()
{
System.out.println("age" + age);
}
public int addAge(int i)
{
age += i;
return age;
}
}
这里是PersonTest类,调用了Person类中的属性和方法!
package com.atjialiang.exer;
public class PersonTest {
public static void main(String[] args)
{
Person p1 = new Person();
p1.name = "Tom";
p1.age = 18;
p1.sex = 1;
p1.study();
p1.showAge();
int newAge = p1.addAge(2);
System.out.println(p1.name + "的新年龄为:" + newAge);
System.out.print(p1.age);
//**************************
Person p2 = new Person();
p2.showAge();//0
}
}