面向对象
面向对象(去饭店吃饭):从面向过程发展(做饭)而来的。
面向对象是一种思想,将复杂的事情简单化,
我们的角色从执行者变成了指挥者。
调用java中的方法(相关的功能)----复用率高
三大特征:封装、继承、多态
类和对象
类:是对事物的属性(成员变量)、行为(函数方法)等一个描述。
Class+类名 汽车(实体----对象):汽车的设计图纸(类)
对象:这类事物的实体。
对象调用对象中的成员(成员方法和成员变量)的方式:
1.对象
2.对象成员
成员变量,局部变量的区别
class Car
{
String color="blue";
int num=4;
public void run()//方法
{
int x=9;
System.out.print("run");
}
public void show()//方法
{
System.out.print(x);//成员变量和局部变量的区别,访问不到x
}
}
class Demo03
{
//创建对象、类
public static void main(String[] args)
{
Car car=new Car();
Car car1=new Car();
String carcolor=car.color;
car1.color="red";
System.out.println(car1.color);
System.out.print(carcolor);
new Car();//匿名对象
new Car().color;//匿名对象(汽车的颜色)
new Car().color="green";//改变匿名对象的内容是无意义的
new Car().run();//匿名对象调用方法是可以的
ChangeCar(new Car());//匿名对象的使用
}
//将所有穿过来的汽车都改成6个轮子,黄颜色
public static void ChangeCar(Car car)
{
car.color="yellow";
car.num=6;
}
}
匿名对象:没有名字的对象(new Car();)
匿名对象的用处:
1.当对象的方法调用一次时或者想查看某个成员变量时(如果对对象中的成员需要多次调用,就必须给对象起名字)
2.可以把匿名对象作为实际参数进行传递
匿名对象调用方法是可以的
封装
概念:是指隐藏对象的属性和实现的细节,仅对外暴露公共的访问方式。
好处:简单化的事情。
例子:电脑主机,外部,内部线路(复杂)
函数是一个简单的封装的例子
Private权限修饰符(私有)权限最小 ,用来修饰类的成员(成员变量和成员方法)
被private修饰的成员只有本类才能访问。
class Person
{
String name;
private int age;//只有在Person类访问
public void setAge(int a)
{
if (a>0&&a<130)
{
age=a;
}
}
public void Speak()
{
System.out.println("age:"+age+"\n"+"name:"+name);
}
public void Eat()
{
}
}
class Demo04
{
public static void main(String[] args)
{
Person p = new Person();
p.name="Jakson";
p.setAge(-20);
p.Speak();
}
}