------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
类和对象的关系
类:就是对现实事物中的描述,提取某一对象的共性内容,对其进行抽象,让复杂的事物简单化。描述事物其实就是在描述事物的属性和行为。 属性对应的是类中的变量。行为对应的是类中的函数(方法),属性和行为共同称为类的中成员(成员变量、成员方法)对象:就是这类事物,实实在在存在的个体。
例子:比如简单描述汽车类,汽车的属性(颜色、轮胎数)汽车的行为(行驶)
//汽车类
classCar
{
//颜色
String color = “红色”;
//轮胎数
int num = 4;
//行为(行驶)
void run()
{
System.out.println(color+”….”+num);
}
}
//生产汽车(对象)
class CarDemo
{
public static void main(String[] args)
{
//在堆内存中产生一个实体,通过new操作来完成
Car c = new Car();
//生产出一辆红色4轮的汽车
c.run();
}
}
成员变量和局部变量成员变量:成员变量作用于整个类中,在堆内存中,因为对象的存在,才在内存中存在。
局部变量:局部变量作用于函数中,或语句中。存在于栈内存中。
权限修饰符
修饰符:用于修饰类中的成员(成员变量、成员函数)
private:私有,私有只在本类中有效。私有化以后,类以外即使建立了对象也不能直接访问。把属性都隐藏, 提供公共方法对其访问。
public:公有,外部和本类中都有效。
构造函数
特点:函数名与类名相同,不用定义返回值类型,不可写return语句。
作用:给对象进行初始化。
注意:多个构造函数是以重载的形式存在的。
构造代码块
作用:给对象进行初始化。对象一建立就运行,优先于构造函数执行,构造代码块中定 义的是不同对象共性的初始化内容。
构造函数与构造代码块的区别
区别:构造代码块是给所有对象进行统一初始化的。 而构造函数是给对应的对象初始化的。
this和this()
this:代表所在函数所属对象的引用,也就是说,哪个对象在调用this所在函数,this就代表哪个对象。
this():用于构造函数之间互相调用,只能定义在构造函数的第一行,因为初始化要先执行。
例如:
class Person
{
private String name;
private int aeg;
Person()
{
}
Person(String name)
{
this.name = name;
}
Person(String name,int age)
{
this(name); //构造函数间互相调用方式
this.age = age;
}
}
class This2
{
public static void main(String[] args)
{
Person p1 = new Person("张三",25);
}
}