【java】类和对象01

前言

这篇文章,我们详细了解在Java中的类和对象,Java是一种面向对象的语言,在Java中,一切都是对象,下面我们开始了解类和对象,以及相关的拓展


一.面向对象,和面向过程的区别

面向过程就是面对事件(简单的问题),进行分析并通过结局人步骤一步一步的解决问题,就是代码短小精悍

面向对象就是以对象为中心(一般是复杂的问题),化为小问题,小问题就是对象,描述所有对象的行为和属性,就是结构化,模块化

其实两种思想,不同的需求就用不同的方法和设计模式就行。


二. 类和对象

  1. :类是对象的模板,(类)模板里面  描述对象的 状态(属性),行为;
  2. 对象: (不是男女朋友!)对象是类的一个实例,所以对象 有 状态(属性),行为。                   例如:一个类是描述 狗 的模板,这个类中,可以有多个对象,也就是有多条 狗;且这不同的狗,毛色,品质,行为也就不同,

注意:“多条狗”是因为, 一个类可以同过 new 实例化多个对象,

1. 类中的变量有以下几种:

  • 局部变量:变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
  • 成员变量:这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和                      特定类的语句块访问。

2. 而成员变量可以分为两种:普通成员变量,静态成员变量

静态成员变量:由static 修饰,不属于某个具体的对象,是所有对象所共享的,

                        既可以通过方法访问,也可以通过类名访问;建议用类名

                        生命周期 伴随类的一生

在类中,有多个方法,在方法内: 是局部变量;

                                     方法外:是全局变量;全局变量有一个是static类型的

                                                          

1.1 类的定义格式

在Java中定义类需要关键字 class,如下

//创建类

class car{//主体

/*属性,字段,成员变量:

成员变量:

                1.普通成员变量

                 2.静态成员变量        注意:成员前写法统一为 public

*/

field   

/*成员方法 :   -------》主要说明类具有那些功能

         1.普通成员方法

          2.静态成员方法

*/

method 

  }

1.1.1  class car

注意:一般一个Java文件只定义一个类,方便管理

定义一个类  :car        //一个类对应生成一个字节码文件

public class car {
    public String name ;  //名字
    public  String color; //颜色
    public void carMove(){
        System.out.println( color+"的"+name+"向由开了");
    }

//一个类(src中)对应生成一个字节码文件(out中)  如下

如果想更改public修饰的类的名称,需要通过开发工具进行修改(不要重命名)

 

三.类的实例化

我们定义的类型是自定义类型,与int, double 类似,但是int 等是Java语言中内置的类型。通过new实例化对象

 new实例化出来的就是一个正真实体

1.1实例化例子,

 public String name ;  //名字
    public  String color; //颜色
    public void carMove(){
        System.out.println( color+"的"+name+"向由开了");
    }
    public static void main(String[] args) {
        car111 car111 = new car111();
        car111.carMove();

 public String name ;  //名字
    public  String color; //颜色
    public void carMove(){
        System.out.println( color+"的"+name+"向由开了");
    }
    public static void main(String[] args) {
        car111 car111 = new car111();
        car111.color="红色";
        car111.name="大众";
        car111.carMove();

1.2 this的用法

1.2.1 为什么要有this引用

1.例如下面:time 类     //this代表当前对象的引用

public class Time {
    public int year ;
    public int  month;
    public int  day;
    public void setDate (int i, int d, int f){
        year = i;
        month = d;
        day = f;
    }
    
}

 两中写法都行,建议加this的

2。 还有有一个点,为什么写this

public class Time {
    public int year ;
    public int  month;
    public int  day;
    public void setDate (int year, int month, int day){
        this.year = year;
        this.month = month;
        this.day = day;
    }
    public void print(){
        System.out.println(year+" "+month+" "+day);
    }

    public static void main(String[] args) {
        Time time1 =new Time();
        time1.setDate(1999,2,11);
        time1.print();

        Time time2 =new Time();
        time2.setDate(1232,4,12);
        time2.print();

    }
}

这里如果没有加this,是形参给自己赋值,并没有影响实参,,this的话,就是当前谁调用方法,

3. this还可以在成员方法中调用其他成员方法

四. 如何初始化对象

1.就地初始化

在特殊情况下,比如任何一次对象的实例化之后,都期望名字是默认的

public class car111 {


    public String name =" 哈哈";  //名字
    public  String color; //颜色

当然,实例化之后,可以进行更改

2.局部初始化

局部变量 在使用的之前,需初始化,

在没有初始化的时候,都会有个默认值

int 的为0;  double的为0.0;     float 的为 0.0f;         引用类型的化为null。

五.构造方法****

特性:

  1. 没有返回值
  2. 方法名与类名一样

例如:

public class Test {
    public int age;
    public String name;
    public  Test(){
        this.age=10;
        this.name="nana";
        System.out.println("daadada");
    }
    public static void main(String[] args) {
        Test test = new Test();
        
    }
}

 不带参数的构造方法,

注意:

  • 对象的产生,换句话说:实例化一个对象,至少有2步是很关键的;1:为对象分配内存   2: 调用合适的构造方法
  • 如果没写任何一个构造方法,Java会给提供一个不带参数的构造方法

*     调用合适的构造方法,所以不只一个构造方法    *

所以这里,就有重载的现象,构造方法可以重载,如下

 public  Test(){
        this.age=10;
        this.name="nana";
        System.out.println("daadada");
    }
    public  Test(int i,String ada){
        this.age=i;
        this.name=ada;
        System.out.println("daadada");
    }

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瞎蹬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值