-
对象
世间万物都可以是一个对象
-
静态属性
一个人为对象,他的眼睛,鼻子,就是静态属性
-
动态熟悉
一个人为对象,那么他的动作就为动态属性
-
什么是类
类放在现实中,如人是一个对象,类就是对象的统称
类是对象的设计图
-
封装
把一个对象的静态和动态装入类中就叫封装,好处可以提高代码的复用性,就是可以用很多遍,不想用了可以丢一边,而放进类种的过程叫做封装
-
载体: 类
-
继承
父类的代码,子类可以不用写直接拿过来用
代码中,类中的属性,如果每个对象都会有就放在父类,如不是则放进子类
-
多态
一个类有特性不同的对象,会有不同状态的对象,这种叫做多态
官方一点的话叫做将父类的对象应用与子类的特征就是多态
例题6.1
package duilian;
public class book {//类
public String name;//string成员变量
public String getName() {//getter方法
return name;
}
public void setName(String name) {//name的setter方法
this.name=name;//赋值
}
}
例题6.2
package duilian;
public class changedemo {
public static int[] exchange(int[]arr) {
int tmp=arr[0];///局部变量
arr[0]=arr[1];//第一个元素赋值给第二个元素
arr[1]=tmp;//第二个元素值为tmp
return arr;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[]= {17,19};
System.out.println("第一个值="+arr[0]+"第二个值="+arr[1]);
arr=exchange(arr);
System.out.println("第一个值="+arr[0]+"第二个值="+arr[1]);
}
}
例题 6.3
package duilian;
public class eggcake {//个数
int eggcount;
public eggcake(int eggcount) {//构造方法
this.eggcount=eggcount;//属性
}
public eggcake() {//构造方法
this(1);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
eggcake cake1=new eggcake();
System.out.println("顾客不要求加蛋的是数量,饼里有"+cake1.eggcount+"个蛋。");
eggcake cake2=new eggcake(2);
System.out.println("顾客要加两个蛋,饼有"+cake2.eggcount+"个蛋。");
}
}
例题6.4
package duilian;
public class staticdemo {
static double PI=3.1415926;//静态变量
static final int i=3;//静态常量
static void method() {//在类中定义静态方法
System.out.println("这是静态方法");//打印
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(staticdemo.PI);//调用静态变量
System.out.println(staticdemo.i);
staticdemo.method();
}//调用静态方法
}
例题6.5
package duilian;
public class cust {//顾客类
static int count=0;//共享的属性
String name;//名称属性
public cust(String name) {
this.name=name;//记录名称
count++;//人数递增
}
public static void main(String[] args) {
// TODO Auto-generated method stub
cust c1=new cust("tom");
System.out.println("我是第"+cust.count+"名顾客,我叫"+c1.name);
cust c2=new cust("张三");
System.out.println("我是第"+cust.count+"名顾客,我叫"+c2.name);
cust c3=new cust("狗蛋儿");
System.out.println("我是第"+cust.count+"名顾客,我叫"+c3.name);
}
}
例题6.6
package duilian;
public class maindemo {
public static void main(String[] args) {//主方法
// TODO Auto-generated method stub
for(int i=0;i<args.length;i++) {//根据参数个数做循环操作
System.out.println(args[i]);//循环打印参数内容
}
}
}
例题6.7
package duilian;
public class people {
String name;//名字
int age;//年龄
String sex;
public people() {//构造方法
}
public people(String name,int age,String sex) {
this.name=name;//记录名称
this.age=age;
this.sex=sex;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
people p1=new people("tom",23,"男");
people p2=new people("liy",19,"女");
}
}
例题6.8
package duilian;
public class dog {
String name;//名字
String color;//颜色
String vioce;//声音
public dog(String name,String color,String vioce) {
this.name=name;
this.color=color;
this.vioce=vioce;
}
public void call() {//叫
System.out.println(vioce);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
dog d1=new dog("毛毛","白色","汪汪汪");
System.out.println(d1.name+"的颜色是"+d1.color);//对象属性
System.out.println(",叫起来的声音:");
d1.call();//对象行为
dog d2=new dog("灰灰","灰色","嗷呜");
System.out.println(d2.name+"的颜色是"+d2.color);
System.out.println(",叫起来的声音:");
d2.call();
}
}