Java基础-面向对象编程(类、面向过程、面向对象、对象、属性、行为)(大象进冰箱)
1.面向对象与面向过程(大象门事件!!!)
1.1.面向过程(POP)
1.2.面向对象(OOP)
1.3.注意
2.类的组成
类、对象、构造器
class GouZaoQi {
private int a = 1;
private String b = "hello";
public GouZaoQi() {
}
public GouZaoQi(int a) {
this.a = a;
}
public GouZaoQi(String b) {
this.b = b;
}
public GouZaoQi(int a, String b) {
this.a = a;
this.b = b;
}
public void hello() {
System.out.println(a +" "+ b);
}
}
public class TestGouZaoQi {
public static void main(String[] args) {
GouZaoQi gz1 = new GouZaoQi();
gz1.hello();
GouZaoQi gz2 = new GouZaoQi(999);
gz2.hello();
GouZaoQi gz3 = new GouZaoQi("ooo");
gz3.hello();
GouZaoQi gz4 = new GouZaoQi(999, "ooo");
gz4.hello();
}
}
匿名对象
方法
class GouZaoQi {
private int a = 1;
private String b = "hello";
public GouZaoQi() {
}
public GouZaoQi(int a) {
this.a = a;
}
public GouZaoQi(String b) {
this.b = b;
}
public GouZaoQi(int a, String b) {
this.a = a;
this.b = b;
}
public void hello() {
System.out.println(a + b);
}
public static void helloStatic(String str) {
System.out.println("静态方法: " + str);
}
}
public class TestGouZaoQi {
public static void main(String[] args) {
GouZaoQi gz1 = new GouZaoQi();
gz1.hello();
GouZaoQi.helloStatic("略略略~");
}
}
属性
class GouZaoQi {
public int a = 1;
public static String b = "hello";
public GouZaoQi() {
}
}
public class TestGouZaoQi {
public static void main(String[] args) {
GouZaoQi gz1 = new GouZaoQi();
System.out.println(gz1.a);
System.out.println(GouZaoQi.b);
}
}
访问与权限
关键字(this、package、import)
this
class DaXiang {
public String name;
public DaXiang() {
this("默认");
}
public DaXiang(String name) {
this.name = name;
}
}
package
import
4.大象进冰箱(代码实现)
class DaXiang {
public String name;
public DaXiang(String name) {
this.name = name;
}
@Override
public String toString() {
return "DaXiang{" +
"name='" + name + '\'' +
'}';
}
}
class BingXiang {
public String name;
public BingXiang(String name) {
this.name = name;
}
public void 开门() {
System.out.println(name + ":开门");
}
public void 关门() {
System.out.println(name + ":关门");
}
public void 装东西(Object obj) {
System.out.println(name + ":装进一个 :" + obj.toString());
}
}
class Ren {
public String name;
public Ren(String name) {
this.name = name;
}
public void start(DaXiang daXiang, BingXiang bingXiang) {
System.out.println(name + " : 开始了自己的操作");
bingXiang.开门();
bingXiang.装东西(daXiang);
bingXiang.关门();
}
}
public class DaXiangJinBingXiang {
public static void main(String[] args) {
DaXiang 大象 = new DaXiang("大象");
BingXiang 孩儿牌子冰箱 = new BingXiang("孩儿牌冰箱");
Ren ren = new Ren("小明");
ren.start(大象, 孩儿牌子冰箱);
}
}
《上一篇:运算、位运算、比较、循环与控制》
《 UML类图》
《目录:Java渐进式学习》
《幕》