面向对象
面向过程(c语言) | 面向对象(Java) |
---|---|
侧重过程 | 侧重对象 |
三大特点:
- 封装(encapsulation)
- 继承(inheritance)
- 多态(polymorphism)
对象分包含属性(特征)和方法(行为);
一.对象的使用
创建对象
创建一个函数
public void num(){
String name;
String color;
int age;
int height;
}
根据创建的函数在其它函数中调用
public static void main(String[] args){
Num num = new Num();
num.name = "xxx";
num.color = "xxx";
}
判断用户按是否按套路出牌:
while (!input.hasNextInt()) {
input.next();
System.out.println("输入错误,请按套路出牌!");
}
如何找适合的对象:
1.sun已经定义好了很多的类,我们只需要认识这些类,就可以创建对象使用.
2.自定义类,通过自定义类来创建对象的使用.
3.根据要求可以找其中的关键字建立类名和方法.``
自定义类的三步骤:
1.自定义类.
格式: class 类名{
事物的公共属性使用成员变量描述.
实物的公共行为使用函数描述.
}
2.通过类创建对象.
格式
类名 变量名 = new 类名( );
3.访问对象的属性或者调用对象的功能.
对象变量名.对象变量 = xxx;
1.变量在同一个作用域内(大括号)可以直接访问.
2.如果一个类要访问另外一个类变量时(不在同一个大括号内),那么这时候就只能通过对象进行访问.(目前)
二.成员变量与局部变量的区别:
①定义上的区别:
1.成员变量是定义在方法之外,类之内的.
2.局部变量是定义在方法之内的.
②作用上的区别:
1.成员变量的作用是用于描述一类事物的公共属性的.
2.局部变量的作用就是提供一个变量给方法内部使用.
③生命周期的区别:
1.对象的创建会随着对象的消失而消失.
2.局部变量在调用了对应方法时执行到了创建该变量语句时存在,局部变量一旦出了自己的作用域马上从内存中消失.
④初始值的区别:
1.成员变量是由默认的初始值.
2.局部变量是没有默认的初始值的,必须要先初始化才能"使用".
三.匿名对象
匿名对象: 没有引用类型变量指向的对象称作匿名对象
匿名对象要注意的事项:
1.一般不会给匿名对象赋予属性值,因为永远无法获取到.
2.两个匿名对象永远都不可能是同一个对象的.(== 判断引用类型的数据类型时 比较的是内存地址)
匿名对象的好处: 简化书写.可以尽快的释放内存空间.(普通方式的对象在函数结束时才会被回收)
匿名对象的应用场景:
1.如果一个对象需要调用一个方法,在调用完这个方法之后,该对象就不再使用了,这时候可以使用匿名对象.
2.匿名对象可以做为实参调用的函数.
命名规则
-
类名:帕斯卡
-
方法名&变量名:驼峰
-
包名:域名倒序全部小写
-
do while里创建的变量不能在括号外使用
-
类中的方法可以直接调用,不同类的方法要先创建对象,然后才能使用.
-
一个类里可以存在多个方法.
-
方法之间互相调用,省去重复编写,省时省力.
-
main方法(这里叫参数)