java 面向对象-类和方法

目录

1 类和对象

2 类的属性和方法

   2.1 属性

   2.2 方法

3 对象的创建和使用

4 变量

    成员变量

    局部变量

引用

构造方法

   重载:

方法调用

1 类和对象

          类: 对对象的抽象,抽象出像的部分,叫做class

          对象: 是具体的事物,叫做Object instinstance

          对象和类的关系:特殊到一般,具体到抽象

          类可以看成一类对象的模板,对象可以看成该类的一个具体实例。

          对象是java 程序的he核心,在java程序中“万事万物皆对象

2 类的属性和方法

          所有类定义的时候可以添加属性和方法,但是不是必须要写的
          一个java文件中可以定义N多个class,但是只能有一个public class并且public class的类名跟文件名保持一致

   2.1 属性

         field,或者叫做成员变量。

         用于定义该类或该类对象包含的数据或者静态属性。

         作用范围是整个类体

         在定义的时候,可以对其初始化或者不初始化,不初始化的时候,会有默认de的初始化值。

         格式:

             [访问修饰符]    数据类型      属性名称  =  值;

   2.2 方法

         用来表示行为

         格式:

         [访问修饰符]  返回值类型(任何类型)  方法名称(形参列表){
               逻辑代码
        }

       注意:
        1、方法的访问修饰符可以不写
        2、方法可以有返回值,也可以没有,void表示没有返回值的意思
        3、形参列表可以有,也可以没有
        4、java中方法的传参都是值传递

3 对象的创建和使用

       对象的创建

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

        对象的使用
        使用对象的时候可以通过 对象名称.属性 或者 对象名称.方法 来使用属性和方法

  

public class Student {

    //属性的定义
    int stuNumber;
    String name;
    int age = 20;

    //方法的定义
    void study(){
        System.out.println("我正在学习");
    }

    void eat(String food){
        System.out.println("我在吃"+food);
    }

    public static void main(String[] args) {
        //创建对象
        Student student = new Student();
        //使用属性
        System.out.println(student.name);
        System.out.println(student.age);
        System.out.println(student.stuNumber);
        //修改属性值,给属性赋值
        student.name="张三";
        student.age=40;
        student.stuNumber=20190818;
        System.out.println(student.name);
        System.out.println(student.age);
        System.out.println(student.stuNumber);
        //调用方法
        student.study();
        student.eat("apple");
    }
}

4 变量

    成员变量

               定义在方法外,类内的变量叫做成员变量(全局变量) 放在堆内存里面
               成员变量包含初始值:int 默认值 0 String 默认值 null boolean 默认值false
               作用域:整个类体内 

    局部变量

            定义在方法中的变量称之为局部变量  放在堆内存里面
            作用域:从定义的位置开始到整个方法结束
            局部变量不包含默认值,如果没有使用当前变量的话,可以不赋值
            注意:局部变量只能在当前方法中使用,其他地方无法使用

public class VarDemo {
  //成员变量
    int age = 20;

   public void test(){
       System.out.println(age);
       age = 10;
       System.out.println(age);
       int age = 30;
       System.out.println(age);
   }
    public void show(){
        //局部变量
        int a ;
        String name = "zhangsan";
        System.out.println(age);
    }


    public static void main(String[] args) {
       VarDemo vd = new VarDemo();
        System.out.println(vd.age);
        vd.test();
        System.out.println(vd.age);


    }
}

5 引用

Java中的对象和数组是通过引用对其操作的.

    引用可以理解为一种受限的指针

    指针是可以与整数做加减运算的,两个指针之间也可以进行大小比较运算和相减运算。引用不行,只能进行赋值操作

    引用就是一个变量或对象的别名(引用的本质是一个对象);指针是一个段内存空间的地址(指向存储一个变量值的空间或一个对象的空间)

6 构造方法

        创建对象的时候默认会调用构造方法来创建对象,(在堆中开辟空间),可以完成成员变量的某些初始化操作
   构造方法的语法:
       方法名称:构造方法的方法名称必须跟类的名称保持一致
       访问修饰符:
       形参:可以用户自定义添加,跟方法的普通参数一样
       方法体:完成对象的初始化功能
       返回值:没有返回值
   注意:
       1、创建完类之后,如果没有手动调用构造方法,会有一个默认的无参的构造方法供调用
       2、当用户自定义了构造方法之后,默认的无参构造方法就不能够使用了,必须要手动定义无参构造方法
       3、同一个类中可以包含多个同名的构造方法

   重载:

      在一个类中可以包含多个重名的方法,但是注意方法的参数列表不能相同
      三个方面的不同:
           参数的个数不同
           参数的类型不同
           参数的顺序不同
       注意:
           一般构造方法都会进行重载(一个类中可能包含多个属性值,当只需要给部分属性初始化的时候需要调用不同的构造方法)

      

public class Teacher {

    String name;
    int age;
    // 无参构造方法
    public Teacher(){

    }

    // 重载构造方法  
    public Teacher(String xname){
        System.out.println("one argument");
        name = xname;
    }
    // 重载构造方法
    public Teacher(String xname,int xage){
        System.out.println("two argument");
        System.out.println("new......");
        name = xname;
        age =xage;
    }

    public void teach(String a,int b){

    }

    public void teach(int b,String a ){
        System.out.println("上课");
    }

    public static void main(String[] args) {
        Teacher teach = new Teacher();
        teach.name="hu";
        teach.age=18;
        System.out.println(teach.name);
        System.out.println(teach.age);

    }
}

7 方法调用

        形参和实参:

            定义方法的参数是形式参数

           调用方法所传的参数是实际参数

            调用方法的时候要求参数个数相同,类型兼容

        参数传递:

            基本数据类型的传递: 

                    无法通过方法调用改变变量的值

            引用数据类型的传递:

                    可以通过方法调用改变变量的值

 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值