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 //判断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.知识框架