Javaoop:面向对象编程的知识小点
一、类
定义:将某一类具有* 相同属性* 和* 行为 *的事物抽象描述出来叫做类
(1)属性:静态特性,成员变量,全局变量
(2)行为:动态特性,方法,函数
(3)基本结构:
Public class 类名{
//属性:变量
private static/final/transient(暂时的)/volatile(不稳定的) 数据类型 属性名;
**…**
//行为 //行为出口
Public static/final/synchronized(同步的) 返回类型 方法名称(参数列表){
方法体;
}
**…**
}
2、构造方法
(1)构造方法的构建
学生类:
public class Student {
private String stuNo;
private String stuName;
private char gender;
private int age;
private String product;
}
无参构造:
public Student(){}
含参构造:
public Student(String stuNo,String stuName,char gender,int age,String product){
this.stuNo = stuNo;
this.stuName = stuName;
this.gender = gender;
this.age = age;
this.product = product;
}
注:含参构造里传入形式参数,仅确定类型
(2)构造方法的功能
类的初始化:给类的属性第一次赋值
构造方法:对于同一个对象(stu),只能调用一次(Student)
无参构造初始化属性:给每个属性赋默认初值
3、参数传递
注:一个方法中最多只能有一个动态参数并且该参数必须是最后一个
(1)值传递:传递值的副本
例如:
public int test(int a){
a+=6;
System.out.println("传递后:"+a);
return a;
}
int a = 4;
System.out.println("main1:"+a);
cal.test(a);
System.out.println("main2:"+a)
结果:;
(2)引用传递:传地址
例如:
public void test(Student t){//part01中的Student类中定义了public a
t.a +=5;
System.out.println("传递后:"+t.a);
}
Student t = new Student();
t.a = 3;//对象点属性
System.out.println("main1(传递前)"+t.a);
cal.test(t);
System.out.println("main2(传递后)"+t.a);
结果:
4、Return的使用
tips:方法级的跳转语句
return的作用:(1)结束方法
(2)返回值
注:不需要返回值时,return只执行作用一。
需要返回值时,则同时执行两点作用。
5、方法的重载
(1) 在同一个类中,出现方法名称相同,参数不同的现象称之为方法的重载
类型不同
参数数量不同
参数顺序不同
例如:
public int test(int a){}
public int test(int[] a){}
public int test(int[] a,int b){}
public int test(int a,int[] b){}
6、方法的重写
(1)子类重写与父类同名,同参,同返回值的方法
例如:父类中有一个eat()方法,子类继承父类后重新实现该方法
public abstract void eat(); //父类
public void eat() { //子类继承父类后重新实现了eat()方法
System.out.println("狗在愉快的啃着骨头...");
}