对象即是该类事物实实在在存在的个体
打个比方:
类就是瓶子,但是对象就是具体的那个瓶子,比如矿泉水瓶。
类就是人,但对象就是具体的某个人,比如你的老师。
现在你是不是大概理解了对象和类的定义了?
定义一个简单的类: 如下
public class test
}
那么具体的对象就是
test t1 = new test();
test t2 = new test();
...
当然,你可以new出来无数个对象,但类只有一个,类是模具。
类的定义
生活中描述事物无非就是描述事物的属性和行为
Java中用类class来描述事物
属性:对应类中的成员变量
行为:对应类中的成员函数
定义类其实就是在定义类中成员(成员变量和成员函数)
成员变量和局部变量的区别
成员变量定义在类中,在整个类中都可以被访问.
成员变量随着对象的建立而建立,存在于对象所在的堆内存中.
成员变量有默认的初始化值
局部变量:
局部变量只定义在局部范围内,如函数,和语句.
局部变量存在于栈内存中
作为的范围结束,变量空间会自动释放
局部变量没有默认初始化值
创建对象和使用对象
class Bicycle{
int num;
String color = “red”;
Void show()
{
System.out.println(color + “:” + “num :“ +num);
}
}
Class BicycleDemo{
Public static void main(String [] args)
{
Bicycle b = new Bicycle(); //建立对象
b.color = “green”; //修改对象属性
b.show(); //使用对象功能
}
}
匿名对象
匿名对象是对象的简化形式
匿名对象有两种使用情况:
当对象方法仅进行一次调用.
匿名对象可以作为实际参数进行传递
private (私有关键字)
Private 是一个权限修饰符.
用于修饰成员(成员变量和成员函数).
还有public(公有) protected default
他们之间的关系我在下面的表中介绍:(勾表示类可以调用)(重要,最好背下)
类型
|
private
|
default
|
protected
|
public
|
同一类 |
√
|
√
|
√
|
√
|
同一包中的类
| |
√
|
√
|
√
|
同一包中的不同子类
|
|
√
|
√
|
√
|
不同包中的子类
|
|
|
√
|
√
|
不同包中的不同子类
|
|
|
|
√
|
子类的定义会在之后讲到,大家暂时先将表格记住。
常用之一 :将成员变量私有化,对外提供set get 方法对其进行访问,提高对数据访问的安全性.
构造函数
函数名与类名相同
不用定义返回值类型
不可以写return 语句
作用::给对象进行初始化 .
注意:多个构造函数是以重载的方式存在的
this 关键字
This代表其所在函数所属对象的引用,this 代表本类对象的引用
什么时候用this关键字
当在函数内需要用到调用该函数对象时,用this.
static 关键字
用于修饰成员(成员变量和成员函数)
被修饰后的成员具备如下特点:
随着类的加载而加载,优先于对象存在,被所有对象所共享,可以被类名直接调用.
使用注意 :
静态方法只能访问静态成员 .
静态方法中不可以写 this super 关键字
主函数是静态的
总结:
主要是讲述了一些关于对象,类,继承,接口等概念的使用,面向对象的优点之一是可以通过继承(会在下面一章讲到)实现代码的复用,节省了开发时间,程序员可以选择已经被验证正确的代码;java中不允许多重继承,接口实现了java中多继承,可以将接口理解为抽象类.
最后,这是我自己敲得书上的代码,相信你们看了之后会更加容易理解java对象的原理