java(面向对象)

一、程序方法的介绍

1.面向过程的程序设计思想(POP):关注的焦点是过程,也就是程序的步骤

2.面向对象的程序设计思想(OOP):关注的焦点是类,在计算机程序中,按照现实中的事物,将事物的属性特征、行为特征抽象出来,用类来表示。

二、 类和对象的关系

1.什么是类?

        类就是具有相同特征的事物的抽象描述,是一组相关“属性”和“行为”的集合

2.什么是对象?

        对象是一类事物的一个具体个体 

3.类和对象的关系

        类是对一类事物的描述,是抽象的

        对象是一类事物的实例,是具体的

        类是对象的模板,对象是类的实体

 三、如何定义类和对象

 1.如何定义类

        【修饰符】 class 类名{

           }

public class Student{

}

2.如何创建对象

       (1)new 类名()// 也称为匿名对象

       (2)类名 对象名 = new 类名();

Student stu=new Student();

 四、成员变量

【修饰符】 class 类名{

        【修饰符】 数据类型 成员变量名;

}

public class Person{
    String name;
    char gender;
    int age;
}

小tips:

        位置要求:成员变量的位置要在类中,方法外。

        类型要求:数据类型可以是java的任意类型(基本数据类型、引用数据类型)

        修饰符:成员变量修饰符有(public、protected、private、static、final)

                       static可以将成员变量分为(静态变量+非静态变量),其中静态变量又称为类变量,非静态变量又称各位实例变量或者属性。

     

 五、对象的实例变量

1.实例变量的特点:

        (1)实例变量的值是属于某个对象的,必须通过对象才能访问实例变量,每个对象的实例变量的值是独立的。

        (2)实例变量是存在默认值的

     分类        数据类型                         默认值

基本数据类型     整数:(byte,short,int,long)      0
                浮点型(float,double)             0.0
                字符(char)                      '\u0000'
                布尔(boolean)                    false
------------------------------------------------------
引用类型        数组、类、接口                    null

2.实例变量的访问

public class TestPerson {
    public static void main(String[] args) {
        Person p1 = new Person();
        p1.name = "张三";
        p1.age = 23;
        p1.gender = '男';

        Person p2 = new Person();
       
        System.out.println("p1对象的实例变量:");
        System.out.println("p1.name = " + p1.name);
        System.out.println("p1.age = " + p1.age);
        System.out.println("p1.gender = " + p1.gender);

        System.out.println("p2对象的实例变量:");
        System.out.println("p2.name = " + p2.name);
        System.out.println("p2.age = " + p2.age);
        System.out.println("p2.gender = " + p2.gender);
    }
}

        (1)实例变量的值是属于某个对象的
                         必须通过对象才能访问实例变量
                        每个对象的实例变量的值是独立的
        (2)实例变量有默认值

六、方法的基本介绍 

1、方法的概念

         方法其实就是一组代码的封,从而实现代码的重用。通常是一个独立功能的定义,方法是类中最基本的一个功能单元。

2.方法的特点

(1)必须先声明后使用

                类,变量,方法等都要先声明后使用

(2)不调用不执行,调用一次执行一次。

3.如何声明方法      
        声明方法的位置

                必须在类中方法外,即不能在一个方法中直接定义另一个方法。

类{
    方法1(){
        
    }
    方法2(){
        
    }
}

4.方法的语法格式

    【修饰符】 返回值类型 方法名(【形参列表 】)【throws 异常列表】{
            方法体的功能代码
      }

public class MethodDefineDemo {
     //无参无返回值方法的演示
    void sayHello(){
        System.out.println("hello");
    }
  
     //有参无返回值方法的演示
      //@param length int 第一个参数,表示矩形的长
      // @param width int 第二个参数,表示矩形的宽
      //@param sign char 第三个参数,表示填充矩形图形的符号
     
    void printRectangle(int length, int width, char sign){
        for (int i = 1; i <= length ; i++) {
            for(int j=1; j <= width; j++){
                System.out.print(sign);
            }
            System.out.println();
        }
    }

    /**
     * 无参有返回值方法的演示
     * @return
     */
    int getIntBetweenOneToHundred(){
        return (int)(Math.random()*100+1);
    }
    
    /**
     * 有参有返回值方法的演示
     * @param a int 第一个参数,要比较大小的整数之一
     * @param b int 第二个参数,要比较大小的整数之二
     * @return int 比较大小的两个整数中较大者的值
     */
    int max(int a, int b){
        return a > b ? a : b;
    }
}

5.如何调用方法

    (1)方法调用语法格式

                对象.非静态方法(【实参列表】)

public class MethodInvokeDemo {
    public static void main(String[] args) {
        //创建对象
        MethodDefineDemo md = new MethodDefineDemo();

        System.out.println("-----------------------方法调用演示-------------------------");
        //调用MethodDefineDemo类中无参无返回值的方法sayHello
        md.sayHello();
        md.sayHello();
        //调用一次,执行一次,不调用不执行

        System.out.println("------------------------------------------------");
        //调用MethodDefineDemo类中有参无返回值的方法printRectangle
        md.printRectangle(5,10,'@');

        System.out.println("------------------------------------------------");
        //调用MethodDefineDemo类中无参有返回值的方法getIntBetweenOneToHundred
        md.getIntBetweenOneToHundred();//语法没问题,就是结果丢失

        int num = md.getIntBetweenOneToHundred();
        System.out.println("num = " + num);

        System.out.println(md.getIntBetweenOneToHundred());
        //上面的代码调用了getIntBetweenOneToHundred三次,这个方法执行了三次

        System.out.println("------------------------------------------------");
        //调用MethodDefineDemo类中有参有返回值的方法max
        md.max(3,6);//语法没问题,就是结果丢失
        
        int bigger = md.max(5,6);
        System.out.println("bigger = " + bigger);

        System.out.println("8,3中较大者是:" + md.max(8,9));
    }
}

 七、实例变量与局部变量的区别

1、声明位置和方式
    (1)实例变量:在类中方法外
    (2)局部变量:在方法体{}中或方法的形参列表、代码块中

2、在内存中存储的位置不同
   (1)实例变量:堆
   (2)局部变量:栈

3、生命周期
  (1)实例变量:和对象的生命周期一样,随着对象的创建而存在,随着对象被GC回收而消亡,而且每一个对象的实例变量是独立的。
  (2)局部变量:和方法调用的生命周期一样,每一次方法被调用而在存在,随着方法执行的结束而消亡,  而且每一次方法调用都是独立。

4、作用域
  (1)实例变量:通过对象就可以使用,本类中“this.,没有歧义还可以省略this.”,其他类中“对象.”
  (2)局部变量:出了作用域就不能使用

5、修饰符(后面来讲)
  (1)实例变量:public,protected,private,final,volatile,transient等
  (2)局部变量:final

6、默认值
  (1)实例变量:有默认值
  (2)局部变量:没有,必须手动初始化。其中的形参比较特殊,靠实参给它初始化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值