程序的发展历程:面向过程、面向对象
解释面向过程和面向对象(以制作一个盒子为例):
面向过程:不去想做什么样的盒子,随机取工具制作;
面向对象:先想好做一个什么样的盒子,再去找对应的工具去做。
面向对象的三大特征
1)封装性
- 对外部不可见
2)继承
- 扩展类的功能
3)多态性
- 方法的重载
- 对象的多态性
封装性
封装性的产生目的
保护某些属性和方法不被外部所看见
封装的实现
为属性和方法进行封装是通过关键字private声明的。
实现该属性的set和get方法,为外部所访问。
匿名对象
匿名对象就是没有名字的对象,如果程序中只是用一次该对象,就可以使用匿名对象的方式。
构造方法
1、格式
访问修饰符 类名称(){
程序语句
}
2、注意:
(1)构造方法名称必须与类名一致
(2)构造方法没有返回值
3、构造方法主要是为类中的属性初始化
4、每个类在实例化之后都会调用构造方法,如果没有构造方法,程序在编译的时候会创建一个无参的什么都不做的构造方法。
5、构造方法也可以重载
package practice.classdemo;
class People{
//构造方法
int age;
String name;
public People(int a,String n){
age = a;
name = n;
System.out.println("姓名:"+name +" "+"年龄:"+age);
//构造方法没有返回值,不能加return
}
//构造方法不需要进行调用
public People(int a){
age = a;
System.out.println("年龄:"+age);
}
}
public class ClassDemo04 {
public static void main(String[] args) {
People per = new People(30,"张三");//new People本身就可以当作一个构造方法
//根据传递的参数的个数来调用不同的方法
}
}