oop
1、结构:
修饰符 返回值类型 方法名(....){
方法体
return 返回值;
}
如果输入了void就不需要返回值类型!
例子:
public String sayHello(){ return "hello world"; } public int max(int a, int b){ //三元运算符! return a>b ? a : b; } }
2、值传递
public class Demo3 { public static void main(String[] args) { int a = 1; System.out.println(a);//1 Demo3.change(a); System.out.println(a);//1 } //返回值为空 public static void change(int a){ a = 10; } }
3、引用传递
传递的是一个对象,本质还是值传递。
1 public class Demo4 { 2 public static void main(String[] args) { 3 Person person = new Person(); 4 System.out.println(person.name);//null 5 6 Demo4.change(person); 7 System.out.println(person.name);//小王 8 } 9 10 public static void change(Person person) { 11 //person是一个对象,指向的---->Person person = new Person(); 这是一个具体的人,可以改变属性! 12 person.name = "小王"; 13 } 14 } 15 16 //定义了一个Person类, 有一个属性:name 17 class Person{ 18 String name;//null 19 }
4、静态方法和非静态方法
(1)静态方法: static 可以调用其他创建的方法。
(2)非静态方法: 没有static 先new一个对象,在调用其他类的方法。
5、封装
(1)提高程序的安全性,保护程序。
(2)隐藏代码的实现细节。
(3)统一接口。
(4)系统可维护增加了。
(5)数据的隐藏:通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接 口来访问,这称为信息隐藏。
(6)属性私有: get和set。
提供一些可以操作这个属性的方法。
提供一些public的get, set方法。
get 获得这个数据。
set给这个数据设置值。
1 public class Demo5 { 2 public static void main(String[] args) { 3 Demo5 xiaowang = new Demo5(); 4 xiaowang.setName("小王"); 5 System.out.println(xiaowang.getName()); 6 7 xiaowang.setAge(22); 8 System.out.println(xiaowang.getAge()); 9 } 10 11 //属性私有 12 private int id; 13 private String name; 14 private char sex; 15 private int age; 16 17 /* 18 提供一些可以操作这个属性的方法 19 提供一些public的get, set方法 20 21 get 获得这个数据 22 set 给这个数据设置值 23 */ 24 25 public String getName(){ 26 return this.name; 27 } 28 29 public void setName(String name){ 30 this.name = name; 31 } 32 33 public int getAge(){ 34 return this.age; 35 } 36 37 public void setAge(int age){ 38 this.age = age; 39 } 40 41 public int getId() { 42 return id; 43 } 44 45 public void setId(int id) { 46 this.id = id; 47 } 48 49 public char getSex() { 50 return sex; 51 } 52 53 public void setSex(char sex) { 54 this.sex = sex; 55 } 56 }

浙公网安备 33010602011771号