面向机器(汇编)-------》面向过程(C语言)-------》面向对象语言(java内部细节不知道,但是知道如何使用!)--------》面向接口编程--------》面向组件编程-------》面向切面(方面)---------》面向服务(微服务)



|------scanner sc=newscanner(system.in);


|-------String[] str=new String[5];


|-------面向对象:万物皆对象  java内部细节不知道,但是知道如何使用!称之为面向对象!




对象:用来描述客观事物的一个实体,由一组属性和方法构成

|------需求分析文档 :用来描述客观事物

面向对象(oop思想)_java基础

|-----如何使用事物?  使用类?

面向对象(oop思想)_main方法_02


|-----明明可以一句话写在main方法中输出,为什么还创建两个不同的类,让一个类去调用另外一个类?

|------调度  main() 方法 其它的类中的方法  协调  资源

|-----10个同时开发一个项目


publicclass Car {

    String brand;//品牌

    String type;//型号

    String color;//颜色

    doubleprice;

    publicvoid runCar(){

        System.out.println(brand+"正在发动!");

    }

    publicvoid stopCar(){

        System.out.println(type+"  "+color+"已经停车!");

    }

    publicvoid jsCar(){

        //String brand="";

        System.out.println(brand+"正在加速~!");

    }

}



|----main方法


publicstaticvoid main(String[] args) {

        // TODO Auto-generated method stub

        Car car=new Car();

        Scanner sc=new Scanner(System.in);

        System.out.println("请输入品牌:");

        car.brand=sc.next();

        System.out.println("请输入型号:");

        car.type=sc.next();

        System.out.println("请输入颜色:");

        car.color=sc.next();

        System.out.println("请输入价格:");

        car.price=sc.nextDouble();

        car.jsCar();

        car.runCar();

    }



|-----封装:整体  类中拥有属性和方法





|----关键字  this

面向对象(oop思想)_用户名_03


|------Administrator 有两个属性  用户名,密码  方法

 面向对象(oop思想)_java基础_04

 面向对象(oop思想)_main方法_05


|-----注意传递方式  实参给形参数据

面向对象(oop思想)_main方法_06

 面向对象(oop思想)_java基础_07


Cannot make a static reference to the non-staticmethod showUser() from the type Administrator

 面向对象(oop思想)_面向对象_08



|------简单的方法调用  形参  实参


publicclass Administrator {

    //定义一个数组:存储用户名或密码

    String[] user=new String[]{"jack","rose"};

    //原始用户名和密码

    String username="jack";

    String userpwd="rose";

    /**

     * @param username userpwd 局部变量  形参(形式参数:只定义出来)

     * 判断用户名或密码是否正确?

     * */

    publicvoid isUser(String username,String userpwd){

        Scanner sc=new Scanner(System.in);

        if(username.equals(this.user[0])&&userpwd.equals(this.user[1])){

            System.out.println("用户名或密码输入正确!");

            System.out.println("请输入新的用户名:");

            user[0]=sc.next();

            System.out.println("请输入新的密码:");

            user[1]=sc.next();

            showUser();

        }else{

            System.out.println("用户名或密码输入不正确!");

        }

    }


    publicvoid showUser(){

        System.out.println("更改后的用户名或密码-------------------------->");

        for (String str : user) {

            System.out.print(str+"\t");

        }

        System.out.println();

    }


}




|-----主方法


publicstaticvoid main(String[] args) {

           // TODO Auto-generated method stub

           Administrator ad=new Administrator();

           Scanner sc=new Scanner(System.in);

           System.out.println("请输入用户名:");

           String username=sc.next();

           System.out.println("请输入密码:");

           String userpwd=sc.next();

           ad.isUser(username, userpwd);//实参



      }




|----类和对象   新建一个包,新建一个类,通过使用的过程去理解类与类之间的关系(方法与方法之间的关系)

|------属性 和 方法(方法之间是可以相互调用  void )

|-----形参和实参   使用过程中区分形参和实参

public void say(String str){//形参 方法体中声明并使用}


|----类 分开写  不要写在一个类中  不要写成如下方式

public class Demo{

                   ......

}

class Animal{


}


class Dog{


}

实参:指的是具体的参数值 


|------思想 (思维) 抽象    使用的过程