类就是数据类型,对象就是一个具体的实例
对象
创建对象
1) 先声明再创建
Cat cat ; //声明对象 cat
cat = new Cat(); //创建
2) 直接创建
Cat cat = new Cat();
对象内存布局
属性
访问修饰符
控制属性的访问范围
成员方法
1) 添加 speak 成员方法,输出 “我是一个好人”
2) 添加 cal01 成员方法,可以计算从 1+..+1000 的结果
3) 添加 cal02 成员方法,该方法可以接收一个数 n,计算从 1+..+n 的结果
4) 添加 getSum 成员方法,可以计算两个数的和
public class Method01 {
public static void main(String[] args) {
//方法调用
// 1.先创建对象,然后调用方法
Person p1=new Person();
p1.speak();
p1.cal01();
}
}
class Person{
String name;
int age;
//添加speak成员方法,输出“我是一个好人”
public void speak(){
System.out.println("我是一个好人");
}
//添加 cal01 成员方法,可以计算从 1+..+1000 的结果
public void cal01(){
int res=0;
for (int i=0;i<=1000;i++){
res+=i;
}
System.out.println("计算结果="+res);
}
}
成员方法传参机制
基本数据类型的传参机制
基本数据类型,传递的是值(值拷贝),形参的任何改变不影响实参
引用类型传参机制
引用类型传递的是地址,可以通过形参影响实参
克隆对象
编写一个方法 copyPerson,可以复制一个 Person 对象,返回复制的对象。克隆对象, 注意要求得到新对象和原来的对象是两个独立的对象,只是他们的属性相同
package day6;
public class MethodExercise02 {
public static void main(String[] args) {
Person p =new Person();
p.name=("milan");
p.age=100;
MyTools tools =new MyTools();
Person p2=tools.copyPerson(p);
//p和p2都是Person对象,属性相同
System.out.println("p的属性age="+p.age);
System.out.println("p2的属性age="+p2.age);
}
}
class Person{
String name;
int age;
}
class MyTools{
//编写的思路
//1.方法的返回类型Person
//2.方法的名字 copyPerson
//3.方法的形参(person p)
//4.方法体,创建一个新对象,并复制属性
public Person copyPerson(Person p){
Person p2=new Person();
p2.name =p.name;
p2.age=p.age;
return p2;
}
}