一、构造方法
1、方法名与类名称相同,2、没有返回值,不需要void关键字
2、调用类里面的属性必须先进行对象的引用,即:new 类名(),引用:引用名.属性
以下举例:Test01类对Students类进行初始化调用,Test02类对Students类进行属性的修改,即修改成员变量
public class Students { //学号 int id;//成员变量(属性)-->想要访问成员变量,必须有对象才能访问 //姓名 String name; //性别 String sex; //地址 String address; //年龄 int age; //构造方法(1、方法名与类名称相同,2、没有返回值,不需要void关键字) Students(){} }
public class Test01 { public static void main(String[] args){ //创建学生对象 //语法:new.类名(); //Students是一种引用数据类型,所有的类都是引用数据类型 //类里面的方法调用(类名.方法名),类里面的属性调用,引用对象.属性名 Students zhangsan = new Students(); System.out.println("id:"+zhangsan.id); System.out.println("name:"+zhangsan.name); System.out.println("age:"+zhangsan.age); System.out.println("address:"+zhangsan.address); System.out.println("age:"+zhangsan.age); } }
public class Test02 { //修改变量 public static void main(String[] args){ Students stu = new Students(); stu.id = 1001; stu.name = "张三"; stu.age = 20; stu.address = "北京"; stu.sex = "男"; System.out.println("id:"+stu.id); System.out.println("name:"+stu.name); System.out.println("age:"+stu.age); System.out.println("address:"+stu.address); System.out.println("age:"+stu.age); } }
二、对象的封装
封装性:属性私有化,对外提供公开的setter 和 gettter方法
目的:不让外部程序对属性进行任意访问,通过方法进行访问
属性的安全可以得到保障,可以在方法中编写业务逻辑代码
public class Student { private int age; public void setAge(int _age){ //不带static的方法,称为成员方法,非静态方法 if(_age<0 || _age>120){ System.out.println("年龄不合法!"); return; } age = _age; //java语言中的就近原则。注意:成员变量age和局部变量_age的区分 } public int getAge(){ return age; } }
public class Test01 { public static void main(String[] agrs){ Student stu = new Student();//必须先进行对象的引用 stu.setAge(20);//调用时采用引用.方法名 System.out.println(stu.getAge()); stu.setAge(-10); System.out.println(stu.getAge()); } }