《一》Java对象和类的概念:
类:具有共同特征的一类事物的抽象
2:考虑每个类具有哪些属性,哪些方法
3:考虑类和类之间具备什么关系
《三》类(对象)之间的关系:
1:关联关系(是一种最弱的关系),映射在代码上:一个类的方法参数,是另一个类的对象
2:继承关系:xxx是一种xxx;
3:聚合关系(整体和部分):xxx是xxx的一部分
又分为聚集和组合(必不可缺少,关系更强)
4:实现关系(implement)
《五》变量类型:
局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。方法结束后,变量就会自动销毁。
成员变量:成员变量是定义在类中,方法体之外的变量。成员变量可以被类中方法、构造方法和特定类的语句块访问。
类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。
《六》构造方法:
构造方法可有可无,也可以有多个,即构造方法的重载,构造方法在对象创建时被调用,若没有构造方法,编译器会调用默认构造;例如:
创建对象需要以下三步:
声明:声明一个对象,包括对象名称和对象类型。
实例化:使用关键字new来创建一个对象。
初始化:使用new创建对象时,会调用构造方法初始化对象。
例如:
通过已创建的对象来访问成员变量和成员方法,例如:
1:一个源文件中只能有一个public类,但可以有多个非public类
2:文件名应该和public类的类名保持一致
3:如果源文件包含import语句,那么应该放在package语句和类定义之间;如没有package语句,那么import语句应该在源文件中最前面。 import语句和package语句对源文件中定义的所有类都有效。
类:具有共同特征的一类事物的抽象
对象:类的一个具体事例
注:事例(instense)==对象(object)
《二》面向对象处理问题思考方式:
1:考虑该问题中有几个类几个对象2:考虑每个类具有哪些属性,哪些方法
3:考虑类和类之间具备什么关系
《三》类(对象)之间的关系:
1:关联关系(是一种最弱的关系),映射在代码上:一个类的方法参数,是另一个类的对象
2:继承关系:xxx是一种xxx;
3:聚合关系(整体和部分):xxx是xxx的一部分
又分为聚集和组合(必不可缺少,关系更强)
4:实现关系(implement)
《四》Java中的类:
事例1:
public class Dog
{
/**成员变量*/
String name;//名字
int age; //年龄
String color;//毛色
/** 构造方法(一般用来初始化) */
public Dog(String name,int age,String color)//构造方法没有返回值
{
this.name = name;
this.age = age;
this.color = color;
}
/**方法*/
void barking()//定义叫的方法
{
System.out.println("我是dog,我具备汪汪能力!");
}
void running()//定义跑的方法
{
System.out.println("我是dog,我具备本能--跑!");
}
void sleeping()//定义睡觉的方法
{
System.out.println("我是dog,我具备本能--睡觉!");
}
String getInfo()
{
return "本dog基本信息:\n" + "name--" + name + "\nage--" + age + "\ncolor--" + color + "\n";
}
/** main方法入口 */
public static void main(String[] args)
{
Dog d1 = new Dog("d1",1,"红色");//其实是调用构造函数,创建对象d1
d1.barking();//调用
d1.running();
d1.sleeping();
System.out.println(d1.getInfo());
Dog d2 = new Dog("d2",2,"棕色");
d2.barking();
d2.running();
d2.sleeping();
System.out.println(d2.getInfo());
Dog d3 = new Dog("d3",3,"红色");
d3.barking();
d3.running();
d3.sleeping();
System.out.println(d3.getInfo());
}
}
运行:
事例2:
public class Cat
{
/**成员变量*/
String name;//名字
int age; //年龄
String color;//毛色
/** 无参构造方法 */
public Cat()
{
System.out.println("我是无参构造猫");
}
/** 重载构造方法 */
public Cat(String name,int age,String color)
{
this.name = name;
this.age = age;
this.color = color;
System.out.println("我是有参构造猫");
}
void barking()//定义叫的方法
{
System.out.println("我是cat,我具备汪汪能力!");
}
void running()//定义跑的方法
{
System.out.println("我是cat,我具备本能--跑!");
}
void sleeping()//定义睡觉的方法
{
System.out.println("我是cat,我具备本能--睡觉!");
}
String getInfo()
{
return "本cat基本信息:\n" + "name--" + name + "\nage--" + age + "\ncolor--" + color + "\n";
}
public static void main(String[] args)
{
Cat d1 = new Cat();//调用无参构造方法,创建对象d1
d1.barking();
d1.running();
d1.sleeping();
System.out.println(d1.getInfo());
Cat d2 = new Cat("d2",2,"棕色");//调用有参构造方法,创建对象d2
d2.barking();
d2.running();
d2.sleeping();
System.out.println(d2.getInfo());
}
}
运行:
《五》变量类型:
局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。方法结束后,变量就会自动销毁。
成员变量:成员变量是定义在类中,方法体之外的变量。成员变量可以被类中方法、构造方法和特定类的语句块访问。
类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。
《六》构造方法:
构造方法可有可无,也可以有多个,即构造方法的重载,构造方法在对象创建时被调用,若没有构造方法,编译器会调用默认构造;例如:
/** 无参构造方法 */
public Cat()
{
System.out.println("我是无参构造猫");
}
/** 重载构造方法 */
public Cat(String name,int age,String color)
{
this.name = name;
this.age = age;
this.color = color;
System.out.println("我是有参构造猫");
}
《七》创建对象:(new的过程)
创建对象需要以下三步:
声明:声明一个对象,包括对象名称和对象类型。
实例化:使用关键字new来创建一个对象。
初始化:使用new创建对象时,会调用构造方法初始化对象。
例如:
Cat d1 = new Cat();//调用无参构造方法,创建对象d1
Cat d2 = new Cat("d2",2,"棕色");//调用有参构造方法,创建对象d2
《八》调用对象方法:
通过已创建的对象来访问成员变量和成员方法,例如:
d1.barking();
d1.running();
《九》源文件声明规则:
1:一个源文件中只能有一个public类,但可以有多个非public类
2:文件名应该和public类的类名保持一致
3:如果源文件包含import语句,那么应该放在package语句和类定义之间;如没有package语句,那么import语句应该在源文件中最前面。 import语句和package语句对源文件中定义的所有类都有效。