【彻底教会你如何运用类与对象】(promax版)

【彻底教会你如何运用类与对象】(promax版)

一、类与对象的意义(为什么要用类与对象)

众所周知,java是面向对象程序设计(简称oop)语言,是当今主流的程序设计范型。所以要想学习好java语言的话,我们必须得拿下这一章。

那么什么是面向对象程序设计呢?很简单,其实就是拿对应的东西做对应的事

例如:

public class Test {
//创造Scanner对象,用于接受键盘输入的数据
//创造一个Rondom对象,用于生成一个随机1~9的值
public static void main(String[] args) {
    //通过new关键字生成一个Scanner对象,然后将他的地址值赋给sc
        Scanner sc = new Scanner(System.in);
    //通过new关键字生成一个Random对象,然后将他的地址值赋给r
        Random r = new Random();
        int a = sc.nextInt();
        int b = r.nextInt(9+1;
        System.out.println(a);
        System.out.println(b);
    }
  }

当你看到这里或许就已经解决了你心中的疑问。接下来我们就看看什么是类与对象。

二、类与对象的概念(什么是类与对象)

类是构造对象的模版或蓝图。我们可以将类想象成制作火箭的设计图纸,将对象想象为火箭。在java中,必须要设计类才能获得对象。

如你所见,java编写的所有代码全在类当中,同时标准的java库中也提供了几千个类。但是我们自己也可以设计一个类供用户使用。

public class 类名{
    修饰符 成员变量;
    成员方法;
    构造器;
    代码块;
    内部类;
}
//设计了一个computer类
public class computer{
    //成员变量
     private String brand;     
     private int price;
    //成员方法
     public static void playGame(){
         
     }
}

为了能更快的入门java类与方法,在这里我们只介绍成员变量和方法。关注我 后面我会持续更新(dog)。

看到这你可能会想,这个private是什么意思

他是私有化的意思。(在main函数中不能直接调用)

作用是保护成员不被别的类使用,被private修饰的成员只在本类中才能被访问。

//定义一个类
public class computer{
    //成员变量
     private String brand;     
     private int price;
    //成员方法
     public static void playGame(){
         
     }
}
public class test_4_1 {
    public static void main(String[] args) {
        Computer c = new Computer();
        //代码在这里就会报错 因为这个是在测试类中运行的 不在同一个类
        c.brand = "华为";
        c.price = 5999;
    }
}

注意事项

  • 对于private修饰的成员变量,如果需要被其他类使用,我们应该提供相应的操作,比如:

提供“get变量名()”方法,用于获取成员变量的值,方法用public修饰。

提供“set变量名(参数)”方法,用于设置成员变量的值,方法用public修饰。

那么为什么要用private呢?

就要提面向对象的重要特征之一 ----- 封装

2,1—封装

从形式上看,封装只不过是将数据(成员变量)和行为(方法)组合在一个包里,并对对象的使用者隐藏了数据的实现方式。

封装给对象赋予了“黑盒”的性质,这样就提高了代码的复用性和可靠性。

具体怎么封装呢?我们一起来看看。

public class Phone {
    //成员变量
    private String brand;
    private int price;
    private String color;
    //空参的构造方法
    public Phone() {
    }
    //带全部参数的构造方法
    public Phone(String brand, int price, String color) {
        this.brand = brand;
        this.price = price;
        this.color = color;
    }
    //get方法
    public String getBrand() {
        return brand;
    }
    //set方法
    public void setBrand(String brand) {
        this.brand = brand;
    }
    //get方法
    public int getPrice() {
        return price;
    }
    //set方法
    public void setPrice(int price) {
        this.price = price;
    }
    //get方法
    public String getColor() {
        return color;
    }
    //set方法
    public void setColor(String color) {
        this.color = color;
    }
}

内容有点多我们慢慢看。

2.2—this关键字

概念:

方法调用者的地址值

public class Phone {
    //成员变量
    private String brand;
    //set方法
    public void setBrand(String brand) {
        this.brand = brand;
    //get方法
    public String getBrand() {
        return brand;
    }
}
//看这段代码时建议连同上段代码一起看 特别是看有没有返回值和有没带入参数
public class PhoneTest {
    public static void main(String[] args) {
        //使用无参构造创建了一个对象。
        Phone p = new Phone();
        //给方法传递了一个数据
        p.setBrand("xiaomi");
        //用b来接受他的返回值
        String b = p.getBrand();
        //打印b
        System.out.println(b);    
    }
}

在这个setBrand方法中我们将“xiaomi”传入,然后在类中把我们传入的brand赋给this.brand

这个this.brand其实就是p(方法调用者的地址值)对象中的brand也就是类中的成员变量。

实际上就是将局部变量的值赋值给了成员变量

注意事项

  • this作用就是区别局部变量和成员变量

2.3—构造方法

概念:

在创建类时给类里的属性进行初始化。如果没有java程序就会默认给我们带一个空参的构造方法(带默认值)。

    //空参的构造方法
    public Phone() {
    }
    //带全部参数的构造方法
    public Phone(String brand, int price, String color) {
        //将局部变量赋值给成员变量
        this.brand = brand;
        this.price = price;
        this.color = color;
    }

注意事项

  • 方法名与类名相同,大小写也要一致。

  • 没有返回值。

  • 创造对象由虚拟机调用,不能手动调用构造方法。

  • 每创造一次对象,就会调用一次构造方法。

  • 构造方法也有重载。

    那么看到这里你应该就能看懂我上面封装的一长段代码了

    其实在Java里我们给封装某一类事物的类叫做javabean类

    例如:

    //这就是一个描述手机的类
    public class Phone {
        //成员变量
        private String brand;
        private int price;
        private String color;
        //空参的构造方法
        public Phone() {
        }
        //带全部参数的构造方法
        public Phone(String brand, int price, String color) {
            this.brand = brand;
            this.price = price;
            this.color = color;
        }
        //get方法
        public String getBrand() {
            return brand;
        }
        //set方法
        public void setBrand(String brand) {
            this.brand = brand;
        }
        //get方法
        public int getPrice() {
            return price;
        }
        //set方法
        public void setPrice(int price) {
            this.price = price;
        }
        //get方法
        public String getColor() {
            return color;
        }
        //set方法
        public void setColor(String color) {
            this.color = color;
        }
    }
    
    

    注意事项

    • 里面所有的成员变量需私有化。

    • 有空参和带全部参数的构造方法。

    • 每一个变量提供set和get方法

三、类与对象的使用方法(怎么利用类与对象)

例如:

public class PhoneTest {
    public static void main(String[] args) {
        //创造手机的对象
        Phone p = new Phone();
        //设置手机品牌
        p.setBrand("iphone");
        //设置手机颜色
        p.setColor("远峰蓝");
        //设置手机价格
        p.setPrice(19999);
        System.out.println("手机信息:");
        System.out.println("品牌为  "+p.getBrand());
        System.out.println("颜色为  "+p.getColor());
        System.out.println("价格为  "+p.getPrice());
    }
}

该代码为手机的一个测试类。即给手机对象的成员变量赋值并把他们打印出来。

一般在项目开发中,我们一般把测试类和javabean类分开,一个类只干一件事。

将这段代码和上段代码能够全部写出,那就说明你已经掌握了类与对象的全部知识了。

这一篇博客到此为止,我们下篇再见。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值