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 }

 

posted @ 2022-03-10 14:48  小王同学学编程  阅读(447)  评论(0)    收藏  举报
levels of contents