第五节: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();
}
}
构造函数:
- 函数名与类名相同
- 不用定义返回值类型,和void不同的是void是返回值类型不确定。而构造函数根本不需要定义返回值类型。
- 不可以写return语句
对象一建立就会调用构造函数。构造函数的作用:可以用于给对象进行初始化。
为什么需要初始化:现实中的事物只要一出现就具备基本的特性。
当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数 Person(){} 。
每个对象都有自己不一样的地方,支持重载(构造函数的名称一样参数不同。)。
一个对象建立,构造函数只运行一次。而一般方法可以被该对象调用多次。

构造代码块:
没有函数名更没有返回值类型

this关键字

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


浙公网安备 33010602011771号