面向对象:分工与协作
对象、类:
从概念上(现实) :对象-- 抽象(具有相同的特征、行为能力) --> 类
Java :类— 孵化 --> 对象
在java中new 就表示在堆内存中申请了新的空间
属性:
对象名.属性名 = 属性值;
Elephant e = new Elephant();
e.Name="zhangsan";
属性可以不初始化,具有默认值。默认值同基本数据类型
byte short int long 的默认类型为0
float double 的默认类型是 0.0
char 默认类型为空字符
boolean 默认类型为false
成员方法:
Phone p1 = new Phone("aaa") ;
p1.call("13125166028");
mian中构造方法:
new 构造方法();也叫做实例化对象
Phone p1 = new Phone(“aaa”) ;
类:
属性
方法(构造方法\成员方法)
如果没有定义构造方法,系统会默认构建一个无参构造方法
类中的构造方法:
1, 构造方法一定不能有返回类型
2,构造方法名跟类型相同 构造方法可以定义多个。
class Student{
public Student(){
System.out.println("这是构造方法");
}
}
以下为几个练习题:
案例:人推门
public static void main(String[] args) {
Person p1 = new Person();
Door d1 = new Door();
p1.pushDoor(d1);
}
门类
public class Door {
}
推门
public void pushDoor(Door d ){
System.out.println("某个人在正推门");
}
自己可以试试写如下题目
1.鸡下蛋
public static void main(String[] args) {
Chicken c = new Chicken();//鸡
Egg e = c.downEgg();
}
//鸡蛋类
public class Egg {
}
//鸡类
public class Chicken {
public Egg downEgg(){
Egg e = new Egg();
return e ;
}
}
2.大象装冰箱
public static void main(String[] args) {
// 大象装冰箱
Elephant e = new Elephant();
Bridge b = new Bridge();
Person p = new Person();
p.pushBridge(e, b);
}
//这是冰箱类
public class Bridge {
public void load(Elephant e ){}
}
//这是大象类
public class Elephant {
}
//这是人类
public class Person {
public void pushBridge(Elephant e , Bridge b ){
b.load(e);
}
}