1.面向对象
是一种符合人类思维习惯的编程思想(oop)
在程序中使用对象来映射现实中的事物,
使用对象的关系来描述事物之间的联系,这种思想就是面向对象。
2.面向对象的特征
1.安全 2.复用 3.灵活性
a.封装
提高程序的安全性
b.继承
提高了程序代码的复用性
c.多态
提高了程序的可扩展性
3.对象
**客观存在的事物(一切/万物 皆对象)
**特点
属性
对象所表现出来的静态特征(一眼能看的到--外貌特征)
每一个属性都会有一个对应的值
例如: 顾客
头发 黑色
体重 70kg
方法
对象所表现出来的动态特征(行为动作或功能)
例如:顾客
购买商品
4.类
** 具有相同属性和方法的一组对象的集合
** 类和对象关系
类是对象模版,对象是类中具体体现
** 类和对象区别
类仅是一个概念,摸不着,看不见
对象一个具体存在的事物,看的见 摸得着
(类与对象的关系:
类:类是一个模子,描述了该对象应该具有什么特征。
对象:对象是类的实例,由照着类这个模子创建出的实例
)
5.程序实现步骤
1.定义类
语法:
访问修饰符 class 类名{
}
访问修饰符: public 公共的/公有的
2.定义类的属性和方法
a.属性语法:
数据类型 属性名;
b.方法语法
访问修饰符 方法的返回值类型 方法名(方法参数){
}
3.实例化(创建)对象
类名 对象名=new 类名();
操作属性
对象名.属性名=值;
操作方法
对象名.方法名();
5.基础数据类型和引用数据类型
基础数据类型
数值
整数
byte short int long
小数
double float
字符
char
布尔
boolean
引用数据类型(new)
String
数组
对象 --> 类 类型
**区别
a.引用数据类型 是有属性和方法的,基本数据类型没有
b.基本数据类型是在栈内存中,而引用数据类型是存在堆内存中
** 内存存储
栈内存:存的是变量的值
堆内存: 存的是变量的内存地址
6.类的方法
** 概念
对象所表现出来的行为动作或功能
** 作用
完成特定功能的代码块
** 语法
访问修饰符 方法的返回值类型 方法名([方法参数]){
}
**分类
a.无参方法
语法
访问修饰符 方法的返回值类型 方法名(){
}
访问修饰符:public---->公共的/公有的
方法的返回值类型: 基本数据类型/引用数据类型
无返回值 :void
有返回值 : return
b.有参方法
7.成员变量和局部变量
成员变量
位置: 类中定义
局部变量
位置: 方法中
**作用域(范围)
离自身最近的那个花括号"{"
**区别
成员变量 会有初始值
String --->null
int --->0
double --->0.0
局部变量 没有初始值
8.方法调用
a.不同类中
类名 对象名=new 类名();
对象名.属性;
对象名.方法();
b.本类中
方法名();
案例:
/***********************************************************
*/
class Car
{
int num;
String color;
void run()
{
//int num = 4;
System.out.println("汽车的*有"+num+"个,颜色是"+color+"色");
}
}
class CarDemo
{
public static void main(String[] args)
{
//在计算机中创建一个car的实例。通过new关键字。
Car c = new Car();// c就是一个类类型的引用变量,指向了该类的对象。
c.num = 4;
c.color = "red";
c.run();//要使用对象中的内容可以通过 对象.成员 的形式来完成调用。
// Car c1 = new Car();
// c1.num = 4;
// c1.color = "red";
// Car c2 = new Car();
// c2.num = 4;
// c2.color = "red";
// Car c1 = new Car();
// Car c2 = new Car();
// show(c1);
// show(c2);
/*
匿名对象。没有名字的对象 。
new Car();//匿名对象。其实就是定义对象的简写格式。
Car c = new Car();
c.run();
new Car().run();
1:当对象对方法仅进行一次调用的时候,就可以简化成匿名对象。
new Car().num = 5;
new Car().color = "read";
new Car().run();
2:匿名对象可以作为实际参数进行传递。
// Car c1 = new Car();
// show(c1);
show(new Car());
}
//汽车改装厂。
public static void show(Car c)//类类型的变量一定指向对象。要不就是null。
{
c.num = 3;
c.color = "black";
System.out.println(c.num+"..."+c.color);
}
*/
}
}