面向对象的特点主要可以概括为封装性、继承性和多态性。

面向对象提出了两个概念,即类和对象,在java程序中类和对象是最基本、最重要的单元。类表示某类群体的一些基本特征抽象,对象表示一个个具体的事物。

类的定义格式:

1
2
3
4
public class 类名 {
    //成员变量;
    //成员方法;
}

  注意:1、class是类名,需要小写。

               2、类名要符合标识符的命名规则和命名规定。

               3、类名尽量用有意义的英文单词(方便区分)。

那我们就用一个学生类来做一个示例:(其中包括姓名name和年龄age还有sex是成员变量,read()是成员方法)

1
2
3
4
5
6
7
8
9
10
public class student {
    String name;//定义String类型的变量name
    int age;//定义int类型的变量age
    String sex;//定义string类型的变量sex
    //定义read()方法
    void read() {
        System.out.println("大家好,我是"+name+",我在看书!");
    }
 
}

 在java中,定义在类中的变量称为成员变量,定义在方法中的变量称为局部变量。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package java;
 
public class student {
    String name;//定义String类型的变量name
    int age=30;//定义int类型的变量age;类中的变量称为成员变量
    String sex;//定义string类型的变量sex
    //定义read()方法
    void read() {
        int age=50;//方法内部定义的变量称为局部变量
        System.out.println("大家好,我今年"+age+"岁,我在看书!");
    }
public static void main(String[] args) {
    student s=new student();
    s.read();
}
}

  

用new关键字创建对象的具体格式:

类名 对象名称=null;

对象名称=new类名();

 

对象名称.属性名

对象名称.方法名

对象是类的实例,类是对象的模板;

类是抽象的,对象是具体的。

我们以两辆小汽车为例:

 

c车:绿色,5
d车:黑色,7座。
属性:颜色、乘坐人数;行为:运行、跑。

封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。

好处有:1.将变化隔离 2.便于使用 3.提高重用性 4.提高安全性

原则:1.将不需要对外提供的内容都隐藏起来 2.把属性都隐藏,提供公共方法对其访问。

我们可以用private将age变量隐藏起来

将年龄age私有化以后,在这个类以外(PersonTest类)即使建立了对象也不能直接访问。但是人应该有年龄,就需要在Person类中提供age对应访问方式,创建一个方法。Java中一般对于私有的属性都会以“get/set”为前缀定义方法名,对其进行访问。

构造方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package com.sdbi.ljh;
 
class Person {
    private String name;// 定义String类型的变量name
    private int age; // 定义int类型的变量age
    Person() {}
    Person(String n) {
        name = n;
        }
    Person(String n, int a) {
        name= n;
        age = a;
        }// 定义speak() 方法
    void speak() {
        System.out.println("大家好,我是" + name + ",我今年" + age + "岁!");
        }
    }
class PersonTest {
    public static void main(String[] args) {
        Person p1 = new Person();
        p1.speak();
        Person p2 = new Person("张三");
        p2.speak();
        Person p3 = new Person("李四", 18);
        p3.speak();}
    }
    

  

 

this关键字的作用:

1、使用this关键字调用本类中的属性,调用成员方法,调用本类的方法。

需要注意:

只能在构造方法中使用this调用其他构造方法,不能在成员方法中通过this调用其他构造方法;

在构造方法中,使用this调用构造方法的语句必须位于第一行,且只能出现一次;

不能在一个类的两个构造方法中使用this互相调用。

java的四种访问控制权限:public、protected、default、private

(1) private: 属于私有访问权限,用于修饰类的属性和方法。

(2) default:  属于默认访问权限。如果一个类中的属性或方法没有任何的访问权限声明,则该属性或方法就是默认的访问权限。

(3)protected:属于受保护的访问权限。一个类中的成员使用了protected 访问权限,则只能被本包及不同包的子类访问。

(4) public:  属于公共访问权限。如果 个类中的成员使用了 pubie 访问权限,则该成员可以在所有类中被访问,不管是否在同一包中。