类和对象总结
类和对象是面向对象编程的基础。
1.生活中有那些是对象?
万事万物皆对象。
对象:具体的某一个物体或者具体的某一个事物就是一个对象。
举例:
某一个台电脑
在生活中从那几个方面去描述一个对象呢?
特征:颜色,寸尺,品牌,形状,重量,材料,价格,型号,...
功能,用途,行为:玩游戏,聊天,打字,
看电影,学习,听音乐,...
2.类的组成
生活中是怎样对物体进行分类的呢?
根据对象相似的特征和相似的行为进行归类。
程序中的类就是对象生活中类的一种定义。
类是由两个部分组成:1.属性 2.方法
属性表示的是对象或者类的特征;
方法表示的是对象或者类的行为。
3.类的基本格式
public
class 类名 {
//属性
private 数据类型 属性名;
//构造方法
public 类名(数据类型 形参,...){
//代码
}
//普通方法
public 返回值数据类型 方法名(数据类型 形参,...){
//代码
}
}
eg:
public class Student{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
4.实例化对象和调用方法的格式
实例化对象的
关键字:new
格式:
类名 对象名 = new 类名(实参,...);
调用方法格式:
对象名.方法名(实参,...);
eg:Student stu=new Student();
stu.setName("我就是CT");
5.构造方法
构造方法和普通方法的区别:
1.普通方法有返回类型,方法名小写,不能和类名相同;
2.构造方法没有返回类型,void也不行,名与类名相同。
3.构造方法是初始化对象的重要途径,所以就算一个类没有定义构造方法,构造方法在这个类的加载得时候,会自动提供一个没有参数的构造方法。所以,常见得 Student stu=new Student();那么,stu这个实例,是通过构造方法初始化的;而普通方法不行
4.
他们运行顺序不同。一个类在初始化的时候,例如People是Student的父类,有构造方法 public PeoPle(){}那么,当实例化Student p=new Student()得时候,父类的构造方法会隐式执行(你可自己敲代码尝试,父类构造方法中写个输出语句:例如System.out.println("父类构造方法"))。你会
发现,没有调用任何父类,也没有实例化父类,但是构造方法却执行了。
5.方法仅仅是类成员,构造方法也是类成员,但是,构造方法有对类属性得初始化的功能。所以,常见到 public PeoPle(String name){this.name=name}或者 public PeoPle(){name="wangsan",age=14},完成了对People类属性name或者age的初始化
用途:
1.初始化属性值
2.实例化对象
关于构造方法的小心得:
1.在java类中,如果不显示声明
构造函数,
JVM 会给该类一个默认的构造函数。一个类可以有多个构造函数。
2.构造函数的主要作用: 一是用来实例化该类。二是: 让该类实例化的时候执行哪些方法,初始化哪些属性。
3.当一个类声明了构造函数以后,JVM 是不会再给该类分配默认的构造函数。
比如一个实体类
public class entity{
private int id;
private String userName;
get...set..方法
}
如果这样写该类就是默认的构造函数。该类实例化的时候 id 和 username 就是默认值 即 id=0,username=null.
如果在里面加入这样一个方法
public entity(int id,String userName){
调用get..set..
}
如果这样写 该类实例化的时候 必须给出 id 和username参数。 JVM不会再给这个类默认构造函数
你也可以
理解成 在没有给构造函数的时候 JVM 给你的类加了一个这样的函数
public entity(){
this.id=0;
this.userName=null;
}