java学习笔记:类与对象

一、面向对象技术   

  • 对象和类的定义

 对象是类的一个实例,有状态和行为。

 类是一个模板,它描述一类对象的行为和状态。

 比如说我定义了一个汽车类,而兰博基尼、劳斯莱斯则是该汽车类的对象。

 类中由方法和属性组成,而对象则继承了类中的方法和属性;

class Car {
    String color;
    String type;  //类的属性

    void run(){

    }
    void name(){    //类的方法

    }
}
public class Study1 {
    public static void main(String[] args) {
        //创建类的对象
        Car c=new Car();
        c.run();
        c.name();
        System.out.println(c.color);
        System.out.println(c.type);//方法和属性全部继承
    }
}
  •   this关键字的使用

this关键字可用来修饰属性、方法、构造器。

其中在属性和方法中,其中在属性和方法中,this可以理解成当前对象或者当前正在创建的对象。

方法或属性中调用其他的属性或者方法其实都有隐性的this在所调用方法或属性前。

public class ThisStudy {
    public static void main(String[] args) {
        People p=new People();
        p.run();
    }
}
class People{
    int sex;
    int age;

    void run(){
        System.out.println("run fast!");
        this.eat();
//        eat();
    }
    void eat(){
        System.out.println("吃饭!");
    }
}

可以看到对eat()方法的调用,编译结果都是

run fast!
吃饭! 

 不过要注意“this(形参列表)”必须声明在首行。

  • 构造方法 

每个类都有构造方法。如果没有显式地为类定义构造方法,Java 编译器将会为该类提供一个默认构造方法。

在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。

public class Study1 {
    public static void main(String[] args) {
        //创建类的对象
        Car c=new Car("兰博基尼");
        c.run();
        System.out.println(c.color);
        System.out.println(c.type);//方法和属性全部继承
    }
}
/*
创造了一个车类
 */
class Car {
    String color;
    String type;  //类的属性
    //构造方法。
    //name 表示需要传入的参数。
    public Car(String name){
        System.out.println("车的名字:"+name);
    }
    //类的方法
    void run(){
        System.out.println("run is fast!");
    }
}

 打印出的值是

车的名字:兰博基尼
run is fast!
null
null

  •  对老师给出题目的解答

 试编写一个JAVA程序,实现加法器的简单功能。能实现以下功能:

  1. 有两个属性,两个操作数,可以为整数。
  2. 通过构造方法来初始化加法的两个属性,即操作数
  3. 在实例化一个加法器对象时,可以通过指定两个操作数来初始化加法的两个操作元。
  4. 调用加法方法,可以实现加法
  5. 调用输出方法,可以实现将该对象的加法结果输出出来。
  6. 实例化三个具有不同的操作数的加法器对象,并输出这三个对象的加法结果

public class ThisStudy {
    public static void main(String[] args) {
        //实例化Addtion的三个对象
        Addition a1=new Addition(4.5,3.3);
        Addition a2=new Addition(4.6,3.2);
        Addition a3=new Addition(4.7,3.1);
        a1.output();
        a2.output();
        a3.output();
    }
}
class Addition{
    //定义两个属性
    double number1,number2;
    //重构Adition的构造方法,并初始两个属性
    public Addition(double number1,double number2){
        this.number1=number1;
        this.number2=number2;
    }
    //定义加法方法
    double add(){
        return number1+number2;
    }
    //定义输出方法
    void output() {
        System.out.println(add());
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值