Java进阶总结1
1.面向对象的三大特征
//自定义一个类
/**
语法:
[修饰符] class 类名{
//成员变量 属性
//成员方法 行为
}
*/
public class Student{
//属性 字段 成员变量
int stuid;//学号
String name;//姓名
//方法
public void study(){
System.out.println("好好学习,天天向上!");
}
//入口方法
public static void main(String[]args){
//通过类创建对象 语法:类名 对象名=new 类名();
Student stu=new Student();
//给对象的属性赋值 对象名.属性=value;
stu.stuid=151301;//给学号赋值
stu.name="浪子一秋";//给姓名赋值
//取对象属性的值 对象名.属性
System.out.println("学号:"+stu.stuid);
System.out.println("姓名:"+stu.name);
//调用对象的方法 对象名.方法名();
stu.study();
//创建第二个对象
Student stu1=new Student();
//给属性赋值
stu1.stuid=151302;
stu1.name="葬剑灬尊";
//取stu1对象属性的值 对象名.属性
System.out.println("学号:"+stu1.stuid);
System.out.println("姓名:"+stu1.name);
//调用学习方法
stu1.study();
//stu1的地址赋值给stu
stu=stu1;
System.out.println("学号:"+stu.stuid);
System.out.println("姓名:"+stu.name);
//stu1指向null
stu1=null;
//调用属性或者方法
//stu1.name="一叶知秋";//抛出空指针异常
stu1=new Student();//0x121 报废
stu1=new Student();//0x122 两个对象不相同
}
}
输出结果:
练习题
public class Student1{
//创建属性
String name;
boolean isFee;
//创建fees方法
public static void fees(Student1[]stu,int i){
System.out.println(stu[i].name+"同学,\t请缴费!\t"+stu[i].isFee);
//交学费
stu[i].isFee=true;
}
//入口方法
public static void main(String[]args){
//实例化对象并给属性赋值
Student1 jie=new Student1();
jie.name="浪子一秋";
jie.isFee=true;
Student1 qiu=new Student1();
qiu.name="一叶知秋";
qiu.isFee=false;
Student1 zun=new Student1();
zun.name="葬剑灬尊";
zun.isFee=true;
Student1 tian=new Student1();
tian.name="吠舞罗";
tian.isFee=true;
Student1 qq=new Student1();
qq.name="墨竹";
qq.isFee=false;
//声明一个数组,将对象存入数组中
Student1[]stu={jie,qiu,zun,tian,qq};
for(int i=0;i<stu.length;i++){
//判断isFee的状态
if(stu[i].isFee==false){
fees(stu,i);
}else{
System.out.println(stu[i].name+"同学,\t已缴费!\t"+stu[i].isFee);
}
}
//交费后
System.out.println("----------交费后-----------");
for(Student1 tmp:stu){
System.out.println(tmp.name+"同学,\t已缴费!\t"+tmp.isFee);
}
}
}
输出结果:
2.构造器
public class School{
/**
1.构造器的名称和当前所在类的名称相同.
2.禁止定义返回类型,千万不要使用void作为返回类型.
void Student(){}这是普通方法.
假设需要写返回类型,也应该这样写:Student Student();
3.构造器中,不需要使用return语句.
其实构造器是有返回值的,返回的是当前创建对象的引用.
*/
/**
默认构造器的特点
1.符合构造器的特点
2.不能有参数
3.无方法体 例如:public School()//不能写出来
4.某一个类,至少存在一个构造器
5.如果类A没有使用public修饰,则编译器创建的构造器也没有public修饰.
如果使用了public修饰,则编译器创建的构造器也使用public修饰.
*/
//构造方法重载
public School(){
System.out.println("默认构造方法");
}
public School(String name1){
name=name1;
System.out.println(name);
}
//属性
String name;
//方法
//入口方法
public static void main(String[]args){
//实例化对象
School sch=new School();
//初始化一个对象调用带参数的方法
School sch1=new School("葬剑山庄");
}
}
输出结果:
3.知识框架