Java基础知识整理(类,方法)

面向过程与面向对象的设计思想

面向过程:解决一个问题,分析解决这个问题所需要的具体的步骤,然后实现这些步骤.

面向对象:解决问题时先进行以分类大思想进行分析,然后以分类的形式进行解决问题.

举个例子:把大象装进冰箱里

面向过程:打开冰箱门

​ 把大象装进去

​ 关闭冰箱门

面向对象:对此事件进行分类

​ 人类: 装东西 操作等

​ 大象:被装进冰箱

​ 冰箱 + 门:存储东西

​ 门:进行开门,关门

面向对象无法取代面向过程,是相辅相成存在的,面向对象关注于事物之间的关键,在具体细节的实现中,还是需要面向过程的思维方式.

java类

类的概念

类是一个模板,是描述事物属性,行为的集合,类是表示某类事物的一些共同的特征属性,把这些信息创建一个文件(.java类)记录起来.比如:

人 类 (抽象的类)

年龄 姓名 地址 性别 … 定义属性 行为

张三 具体的人 对象

类的结构

成员变量:事物属性的描述

方法:事物所作的行为

构建方法:用于创建对象

内部类:在类体中声明的类

块:一段没有名称的代码块

类的设计

发现类 比如:Dog

定义类的属性 比如:name color price

定义类的行为 比如:狗的叫声 停止

package feifan.day1;
/*  类的声明  类名:首字母大写 驼峰表示
   [访问权限修饰符] [修饰符] class Dog{

   }
   */
public class Dog {
    /* 成员变量
    定义在类中 方法体之外的变量
    可以是任何一种数据类型 (基本类型和引用类型)
    例如狗(姓名 颜色 价格...)
    局部变量在方法 构造方法 语句块中定义的变量为局部变量
    可以是java语言中任何一种数据类型(基本类型 引用类型)
    */
    String name;
    String color;
    float  price;

   /* 类方法
     [访问权限修饰符 ] [修饰符]/void 方法名({
             语句块
     )
    */
    public  void jiao(){

        System.out.println("汪汪汪");
    }
    public  void stop(){

        System.out.println("停止");
    }

java对象

对象:对象是类的实例,以类的模板在内存中创建实际存在的实例.

对象的创建:

例如: Dog mt = new Dog()

左边:Dog mt :使用Car类声明一个变量mt

右边:new Dog() 使用new+ 类名构造方法 在内存中创建一个具体的对象

使用变量mt访问对象中的成员变量和成员方法

package feifan.day1.day2;

public class TestDog {
    public static void main(String[] args) {
        /*  创建对象
         Dog mt = new Dog();
         new Dog() 使用new+类名构造方法
         Dog mt 用Dog类作为一个类型声明一个变量 mt
         = 右边创建的对象地址赋给变量mt或者说变量mt指向内存中的对象
        */
        Dog mt = new Dog();
        mt.name="小小";
        mt.color="白色";
        mt.price=850;
        mt.jiao();
        mt.stop();
        System.out.println(mt.name+"|"+mt.color+"|"+mt.price);

        Dog hb = new Dog();//
        hb.name="大大";
        hb.color="灰色";
        hb.price=700;
        hb.jiao();
        hb.stop();
        System.out.println(hb.name+"|"+hb.color+"|"+hb.price);
    }
}

变量分类

变量按照数据类型分为:

基本类型 :8种 整数型(byte short int long) 浮点数 (float double ) 字符型char 布尔型boolean

引用类型:类 数组

变量按照位置进行分类:

成员变量:成员变量是定义在类中,方法体之外的变量。

​ 成员变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型)。

​ 在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。

​ 成员变量在创建对象的时候会从类中复制一份到对象中。

​ 成员变量可以被类中方法、构造方法和特定类的语句块访问。

​ 成员变量的作用范围为整个类体。

局部变量: 在方法、构造方法或者语句块中定义的变量被称为局部变量。

​ 局部变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型)。

​ 局部变量在使用前必须初始化赋值。

​ 变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。

方法分类

成员方法

成员方法定义在类中,在创建对象的时候创建此方法.

  /* 类方法
     [访问权限修饰符 ] [修饰符]/void 方法名({
             语句块
     )
    */
    public  void jiao(){

        System.out.println("汪汪汪");
    }
    public  void stop(){

        System.out.println("停止");
    }
//创建对象
Dog mt = new Dog();
//成员方法通过对象调用
        mt.jiao();
        mt.stop();
构造方法

构造方法是用来创建对象的方法.

构造方法的特点:

构造方法名与类名相同,没有返回值,不需要void修饰.

构造方法是定义在java类中的一个用来创建对象的方法.

每个类中默认会有一个无参的构造方法,也可以定义有参数的构造方法, 一旦定义了有参的构造方法,默认无参的就会失效,如果还需要使用默认无参的,必须显示的声明.

一个类中可以有多个构造方法,通过方法的参数区分.

 /*
    构造方法名 与类名相同 没有返回值 不需要用void修饰
    java会提供默认的无参的构造方法
    在类中定义了构造方法之后  默认无参构造方法会失效
    一个类可以有多个构造方法
   */

   //默认的无参构造方法
    public Dog(){
        System.out.println("这是");
    }
   /*
    可以在类中定义有参数的构造方法,如果定义了有参数的构造方法,   默认无参的就会失效
    有参的构造方法,在创建对象的同时,还以为对象中的属性赋值
   */
    public Dog(String n){
        name=n;
    }
    public Dog(String n,String m){
        name=n;
        color=m;
        System.out.println("两个参数");
    }
    public Dog(String n,float k){
        System.out.println("两个参数(String n,float k)");
    }
    public Dog(float k,String n){
        System.out.println("两个参数(float k,String n)");
    }
}

方法的重载

方法的重载是,在同一个类中具有相同类名但是参数不同的多个方法。

参数不同是从三个方面区分:参数个数不同,参数数据类型不同,顺序不同

调用时根据参数的不同选择对应的方法

构造方法,成员方法都可以重载

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值