第五节:java面向对象

三个特征:封装,继承,多态。

开发:找对象,没有对象就创建对象,使用对象,维护对象。

 

成员变量:

类:对现实生活中事物的描述

对象:实实在在存在的个体。

对象就是在堆内存中用new建立的实体,实体就是用来存储多个数据的,对象有很多个实体,比如年龄,性别,姓名等。凡是用来存储多个数据的我们都叫做实体。

定义类就是在描述事物,就是在定义属性和行为。属性和行为共同成为类中的成员(成员变量和成员方法)

成员变量:作用于整个类中,在堆内存中。

class Car
{
    //描述颜色
    String color ="红色";
    //描述轮胎数
    int num = 4;

    //运行行为
    void run()
    {
        System.out.println(color+".."+num);
    }
}

class CarDemo
{
    public static void main(String[] args)
    {
        //生产汽车。在java中通过new操作符来完成。
        //其实就是在堆内存产生一个实体
        Car c = new Car();  //c就是类类型变量,类类型变量指向对象
     //需求:将车的颜色改成蓝色
     c.color = "blue";
     //车开始运行
     c.run(); 
    }
}

  

匿名对象:两种使用情况:当对对象方法仅进行一次调用时;匿名对象可以作为实际参数进行传递

封装:

人应该有年龄,就需要在Person类中提供对应访问age的方式。之所以对外提供访问方式,就因为可以在访问方式中加入逻辑判断等语句。对访问的数据进行操作,提高代码健壮性。 

class Person
{
    private int age;
    public void setAge(int a)
    {
        if(a>0 && a<130)
        {
            age = a;
            speak();
        }
        else
            System.out.println("feifa age");
    }
    public int getAge()
    {
        return age;
    }
    void speak()
    {
        System.out.println{"age="+age};
    }
}
class PersonDemo
{
  public static void main(String[] args)
  {
    Person p = new Person();
    //p.age = -20;
    p.setAge(-40);
    //p.speak();
  }
}

  

  

构造函数:

  1. 函数名与类名相同
  2. 不用定义返回值类型,和void不同的是void是返回值类型不确定。而构造函数根本不需要定义返回值类型。
  3. 不可以写return语句

对象一建立就会调用构造函数。构造函数的作用:可以用于给对象进行初始化。

为什么需要初始化:现实中的事物只要一出现就具备基本的特性。

当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数 Person(){} 。

每个对象都有自己不一样的地方,支持重载(构造函数的名称一样参数不同。)。

一个对象建立,构造函数只运行一次。而一般方法可以被该对象调用多次。

 

 

构造代码块:

没有函数名更没有返回值类型

 

 this关键字

 一般函数不能直接调用构造函数,this语句不能用在一般函数中。

 

posted @ 2023-05-10 18:21  linuxws  阅读(6)  评论(0编辑  收藏  举报