Java Notes (3) - Object-Oriented Java

转载请注明出处:http://blog.csdn.net/cxsydjn/article/details/71513570

The note introduces the principles of object-oriented programming (OOP) in Java.

Java notes of open courses @Codecademy.

Intro

Java is an object-oriented programming (OOP) language, which means that we can design classes, objects, and methods that can perform certain actions. These behaviors are important in the construction of larger, more powerful Java programs.

Classes

In each part of this section, please pay attention to how to apply those points to the example below!

Syntax

One fundamental concept of object-oriented programming in Java is the class.

A class is a set of instructions that describe how a data structure should behave.

Java provides us with its own set of pre-defined classes, but we are also free to create our own custom classes.

Constructors

If we created a Java class, but it currently does not do anything; we need to describe the behavior of the class for it to be useful.

Let’s start by creating the starting state of our class. We can do this by adding a class constructor to it.

A class constructor will allow us to create Car instances. With a class constructor, we can set some information about the Car.
If we do not create a class constructor, Java provides one that does not allow you to set initial information.

Instance Variables

We save specific details into instance variables, which model class/object attributes.

Constructor Parameters

For the Car class, we can specify the initial year by adding parameters to the class constructor.

Parameters allow data types to be created with specified attributes.

Methods

The main Method

Java’s built-in main method: public static void main(String[] args) {}.

When Java runs your program, the code inside of the main method is executed.

Objects

To use the Car class, we must create an instance of the Car class. An instance of a class is known as an object in Java.

Methods I

A method is a pre-defined set of instructions. Methods are declared within a class. Java provides some pre-defined methods available to all classes, but we can create our own as well.

Note that the startEngine method is created outside of the main method, like the constructor was.

Now the startEngine method is available to use on the myFastCar object. We can do this by calling the method on myFastCar. Again, this occurs inside of the main method. Running the program results in printing Vroom! to the console.

Methods II

In the example below, we create a drive method that accepts an int parameter called distanceInMiles. In the main method, we call the drive method on the myFastCar object and provide an int parameter of 1628.

Calling the drive method on myFastCar will result in printing Miles driven: 1628 to the console.

Keywords Used in Declaring a Method

  • The void keyword (which means “completely empty”) indicates to the method that no value is returned after calling that method.

  • Alternatively, we can use data type keywords (such as int, char, etc.) to specify that a method should return a value of that type.

Within main, we called the numberOfTires method on myFastCar. Since the method returns an int value of 4, we store the value within an int variable called tires. We then print the value of tires to the console.

A Comprehensive Example

    //1. Create a custom Car class
    class Car {
        //3. Using instance variables to model our Car class after a real-life car
        int modelYear;

        //2. The class constructor for the Car class
        //4. Adding parameters
        public Car(int year) {}

        //7. Creating new method I
        public void startEngine() {
            System.out.println("Vroom!");
        }

        //9. Creating new method II
        public void drive(int distanceInMiles) {
            System.out.println("Miles driven: " + distanceInMiles);
        }

        //10. Creating new method III with `int`
        public int numberOfTires() {
            return 4;
        }

        //5. Java's built-in main method
        public static void main(String[] args) {

            //6. Creating an object in `Car` class
            Car myFastCar = new Car(2007);
            //8. Calling the defined method I, II, III
            myFastCar.startEngine();
            myFastCar.drive(1628);


            int tires = myFastCar.numberOfTires();
            System.out.println(tires);
        }
    }

Inheritance

One of the object-oriented programming concepts that allows us to reuse and maintain code more efficiently is called inheritance. It is used to share or inherit behavior from another class. Let’s look at an example:

class Car extends Vehicle {

    int modelYear;

    public Car(int year) {

        modelYear = year;

    }

    //Other methods omitted for brevity...

    public static void main(String[] args){

        Car myFastCar = new Car(2007)
        myFastCar.checkBatteryStatus();

    }
}
class Vehicle {

    public void checkBatteryStatus() {

        System.out.println("The battery is fully charged and ready to go!");

    }
}

In the example above, the extends keyword is used to indicate that the Car class inherits the behavior defined in the Vehicle class. This makes sense, since a car is a type of vehicle.

Within the main method of Car, we call the checkBatteryStatus method on myFastCar. Since Car inherits from Vehicle, we can use methods defined in Vehicle on Car objects.

Review:

  • Class: a blueprint for how a data structure should function
  • Constructor: instructs the class to set up the initial state of an object
  • Object: instance of a class that stores the state of a class
  • Method: set of instructions that can be called on an object
  • Parameter: values that can be specified when creating an object or calling a method
  • Return value: specifies the data type that a method will return after it runs
  • Inheritance: allows one class to use functionality defined in another class

External Resources

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值