创建对象的方法:
new类名();
类是模板,通过一个类,可以创建n个对象,new是一个运算符,专门负责对象的创建。
访问对象的方法:
数据类型(类名) 变量名 =new 类名();
注意:java中所有的“类”都属于引用数据类型
1、构造方法是一个比较特殊的方法,通过构造方法可以完成对象的创建,以及实例变量的初始化,换句话说:构造方法是用来创建对象,并且同时给对象的属性赋值。 (注意:实例变量没有手动赋值的时候,系统会赋默认值)
2、重点:当一个类没有提供任何构造方法,系统会默认提供一个无参数的构造方法。(而这个构造方法称为缺省构造器)
3、调用构造方法怎么调用呢?
使用new运算符来调用构造方法
4、构造方法的语法结构是?
【修饰符列表】构造方法名{形式参数列表}{
构造方法体;(通常在构造方法体中给属性赋值,完成属性的初始化)
}
注意:修饰符列表目前统一写:public,不要写public static
构造方法名和类名必须一致
构造方法不需要指定返回值类型,也不能写void,写上void,表示普通方法,就不是构造方法了。
普通方法的语法结构是?
【修饰符列表】返回值类型 方法名{形式参数列表}{
方法体;
}
面向对象的三大特征:
封装,继承,多态
有了封装才有继承,有了继承才有多态。
面向对象的首要特征:封装
封装的作用:保证内部结构的安全,屏蔽复杂,暴露简单。
在代码级别上,封装有什么用?
一个类体当中的数据,假设封装之后,对于代码的调用人员来说,不需要关心代码的复杂实现,只需要通过一个简单的入口就可以访问了,另外,类体当中安全级别较高的数据封装起来,外部人员不能随意访问,来保证数据的安全性。
如何进行封装,代码怎么实现?
第一步:属性私有化,使用private关键字进行修饰
第二步:对外提供简单的操作入口
例子:
public class Person{
//private表示私有的,被这个关键字修饰之后,该数据只能在本类中访问。
//出了这个类,age属性就无法访问了
private int age;
}
public class PersonTest02{
public static void main(String[] args){
//创建对象
Person p1 = new Person();
//读age属性的值
System.out.println(p1.age);
//修改age属性的值
p1.age = 20;
System.out.println(pq.age);
}
}
此时编译会报错,因为age是private修饰的,此时不能读不能修改,不能输出。
外部程序只能通过调用以下的代码来完成访问。
思考:你应该对外提供几个访问入口?以及这些操作入口是否应该是方法呢?
写一个方法专门来完成读(get),写一个方法专门来完成写(set)
带有static的方法如何调用?
通过类名.的方式进行访问
没有static的方法被称为实例方法,对象方法
实例相关的都需要先new对象,通过引用.的方式去访问