OOP学习入门
面向对象学习的三大主线
一:java类及类的成员:属性、方法、构造器、代码块、内部类
二:面向对象的三大特征:封装、继承、多态
三:其他关键字:this、super、static、final、abstract、interface、package、import
以后会逐一总结,这次先总结第一个大块内容
1.类和对象:
对一个事务的描述,是抽象的,概念上的定义。即:具有相同属性和行为的对象的总称。
对象:
实际存在的该类的每个个体,因而也称为实例。万事万物皆对象(注:其实类也是对象,不过类是Class 的对象,后面反射会细细总结)
2.属性和方法:
public class PersonTest
{
public static void main(String[] args)
{
//创建Person类的对象
Person p1 = new Person();
//调用对象的属性
//格式 对象.属性
p1.name = "Tom";
p1.isMale = true;
System.out.println(p1.name);
System.out.println(p1.isMale);
//调用对象的方法
//格式 对象.方法
p1.eat();
p1.sleep();
p1.talk("Chinese");
}
}
class Person
{
//对象的属性
int age = 1;
String name;
boolean isMale;
//对象的方法
public void eat()
{
System.out.println("人可以吃饭");
}
public void sleep()
{
System.out.println("人可以睡觉");
}
public void talk(String language)
{
System.out.println("人可以说话,说的是" + language);
}
}
定义一个"人"类:具有姓名、性别、年龄的属性,吃饭、睡觉、说话的方法(也可以叫行为),设置属性,调用方法。(很简单,不细说了)
3.构造器:
3.1.构造器的作用:
1.创建对象
2.初始化对象
3.2.使用说明:
1.如果没有显示的定义构造器的话,则系统默认提供一个空参构造器
2.定义构造器的格式:权限修饰符 类型(形参列表)
3.一个类中定定义多个构造器,彼此构成重载
4.一旦显示定义了类的构造器后,系统就不再提供默认的空参构造器
5.一个类中,至少会有一个构造器
public class ConstructorTest
{
public static void main(String[] args)
{
//创建对象: new + 构造器
Constructor c1 = new Constructor();
c1.eat();
Constructor c2 = new Constructor("Jack");
System.out.println("姓名:" + c2.name);
Constructor c3 = new Constructor("Yusei",17);
System.out.println("姓名:" + c3.name + "年龄:" + c3.age);
}
}
class Constructor
{
//属性
String name;
int age;
//构造器
public Constructor()
{
System.out.println("Constructor.........");
}
public Constructor(String n)
{
name = n;
}
public Constructor(String n,int a)
{
name = n;
age = a;
}
//方法
public void eat()
{
System.out.println("人吃饭");
}
public void study()
{
System.out.println("人可以吃饭");
}
}
3.3.属性赋值的先后顺序:
1.默认初始化 --> 2.显式初始化 --> 3.构造器初始化 --> 4.通过对象.方法 或 对象.属性初始化
3.4.JavaBean:
所谓JavaBean,是符合如下条件的java类。
1.类是公共的
2.一个无参的公共构造器
3.属性,且对应的get,set方法