java面向对象-基础入门
阅读原文时间:2023年07月08日阅读:1

java面向对象-基础入门

面向过程:线性思维

面向对象思维:物以类聚,分类的思维

对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统,但是具体到某个微观操作,仍然需要面向过程的思路去处理。

  • 以类的方式组织代码
  • 以对象的方式组织(封装)数据‘

三大特性:

  1. 封装
  2. 继承
  3. 多态

方法:

package charpter5;

public class OOP {

    //实例方法
    public void sayHello(){
        System.out.println("hello1");
    }
    //类方法
    public static void sayHello2(){
        System.out.println("hello2");
    }

    public static void main(String[] args) {
        //sayHello();
        OOP a = new OOP();
        a.sayHello();
        sayHello2();
    }
}

方法的定义:

修饰符 返回值类型 方法名(参数列表)throws 异常抛出{
    方法体
    return 返回值
}

方法的调用:

  • 静态方法 static

  • 非静态方法

    package charpter5;

    //学生类
    public class Student {
    //静态方法 Static
    //非静态方法,在对象实例化之后才能调用。
    public void say(){
    System.out.println("学生说话了!");
    }
    }

    package charpter5;

    public class Demo01 {

    public static void main(String[] args) {
        Student s = new Student();
        s.say();
    }

    }

  • 形参与实参

  • 值传递与引用传递

    package charpter5;

    public class Demo04 {
    public static void main(String[] args) {
    int a = 1;
    System.out.println(a);
    change(a); //调用后,值不会改变
    System.out.println(a);

        Person person = new Person();
        System.out.println(person.name);
        change2(person);                 //调用后,值改变
        System.out.println(person.name);
    }
    
    //值传递
    public static void change(int a){
        a = 10 ;
    }
    
    //引用传递  用对象进行引用传递
    public static void change2(Person p){
        p.name="ssl";
    }

    }

    class Person{
    String name;
    }

  • this关键字