类,变量,对象,方法

面向对象与面向过程

面向过程

分析出解决问题的步骤,然后一步一步解决.

面向过程适合处理简单的事情,直接关注流程,简单高效.

面向对象

以分类的方式进行思考和解决问题,面向对象的思维方式适用于处理复杂的问题,面向对象的思想符合人类的认知习惯.

面向对象适合处理复杂的事情,先使用面向对象的方式对整体关系作出分类,然后,根据不同的类深入细节的处理。

面向对象无法取代面向过程,他们是相辅相成的。面向对象关注于从宏观上把握事物之间的关系,在具体到如何实现某个细节时,仍然采用面向过程的思维方式。面向对象如果离开了面向过程,就无法实现真正的落地,成为无源之水。

Java类

类是一个模板,他描述了一类对象的属性与行为.
类是表示一个客观世界某类群体的一些进本特征抽象.

类的结构:
成员变量:对于对象属性的描述
方法:对象的行为
构造方法:用来创建一个对象
块:代码块
内部类:

1.类的声明格式

[访问权限修饰符]  [修饰符] class 类名{
	
}
访问修饰符有两种publicdefault
修饰符:final,abstract
关键字class用来定义一个类

2.类的共有属性(成员变量)

 public  class   Car{ 
    //成员变量定义
    String name; //名称
    String color; // 颜色
    float  price;//价格
}
声明成员变量的格式[访问权限修饰符][修饰符]数据类型 变量名称;

3.发现类的方法

public  class Car{ 
    //成员变量定义
    String name; //名称
    String color; // 颜色
    float  price;//价格
 public void begin(){
	System.out.println("汽车启动");
               [return   返回值;]
     }
}
方法声明格式为:
 [访问权限修饰符] [修饰符]数据类型/void 方法名(参数类型 参数名称)

Java对象

定义:对象是类的一个实例,是以类为模板,在内存中创建的实实在在存在的实例.

对象的创建与使用

使用new关键词来创建对象

Car baoma=new Car();  以Car类为模板
new关键字+默认构造方法().
Car baoma 以Car类作为类型,声明了一个变量
通过这个变量来访问类中的属性,方法
同一类的每个对象有不同的成员变量存储空间。
同一类的每个对象共享该类的方法。

变量分类

一个类可以包含以下类型变量;

成员变量:

成员变量定义在类中,方法体之外.

成员变量可以使用Java中任何一种数据类型.

在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化
float(0) booleaan(false) int(0) char()

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

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

public class Car {
    /*
    成员变量的定义
    [访问权限修饰符][修饰符]数据类型 变量名[=值]
    成员变量:定义在类中.方法体之外
    成员变量可以使用任何一种数据类型
    成员变量在创建对象的时候会从类中复制一份到对象中。
    成员变量可以不赋值,java会使用默认值自动赋值
    * */
    String name;
    String color;
    double price;
    int width;
    long h;
    boolean b;
    char height;

局部变量

在方法,构造方法,语句块中定义的变量.

局部变量可以使用Java中的任何一种数据类型.

局部变量在使用前必须赋值.

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

 /*在方法、构造方法或者语句块中定义的变量被称为局部变量。 法的参数也属于局部变量,需要赋值
    * 局部变量在使用前必须赋值
    * 局部变量可以使用Java中的任何一种数据类型.
    * */
    public void start(String name) {
        System.out.println("启动汽车");
        return;
    }

类变量

类变量也声明在类中,方法体之外,但必须声明为static类型。

方法分类

一个类可以包含以下方法

成员方法

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

语法格式:
修饰符 返回值类型 方法名 ( 参数列表) {
方法体语句;
[return 返回值]
}

/* 成员方法
[访问权限修饰符][修饰符]返回值类型/void 方法名(参数类型 参数名称){}{
* */
public void eat() {
    System.out.println("吃");
    return;
}

构造方法

用来创建对象的方法.

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

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

使用 new + 构造方法 创建一个新的对象。在创建一个对象的时候,至少要调用一个构造方法。一个类可以有多个构造方法。

每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法,但是只要在一个Java类中定义了一个构造方法后,默认的无参构造方法即失效。

 /*构造方法
    用来创建对象的方法
    方法名与类名相同,无返回值,不需要void来修饰
    一个类中可以显示多个构造方法
    如果类中没有显示的声明构造方法,则类中会有一个默认的无参构造方法
    当有声明构造方法  默认的无参构造方法会失效  必须显示出来才行
    * */

    public Person(){
        System.out.println("方法1");
    }
    public Person(String x,int y){
            name=x;
          System.out.println("方法2");
    }

类方法

类方法也声明在类中,但必须声明为static类型.

方法的重载

方法的重载是指一个类中可以定义名字相同的,但参数不同的多个方法.

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

参数不同分为三部分:

1.数量不同

    public Person(int a, int b){
        System.out.println("方法3");
    }
    public Person(int a){
        System.out.println("方法4");
    }

2.类型不同

    public Person(String x,int y){
            name=x;
            age=y;
        System.out.println("方法2");
    }
    public Person(int x, int y){
        System.out.println("方法3");
    }

3.顺序不同

    public Person(String x,int y){
            name=x;
            age=y;
        System.out.println("方法2");
    }
    public Person(int y, String x){
        System.out.println("方法5");
    }

注意:方法重载跟方法的返回值类型与访问权限没有任何关系.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值