面向对象
三大特征
封装 (Encapsulation)
继承 (Inheritance)
多态 (Polymorphism)
类
属性+行为
(变量)(方法)
面向对象程序设计的重点是类的设计
定义类其实是定义类中的成员(成员变量和成员方法)
属性(变量)
行为(方法)
使用方法时所需注意的
用类来定义——人
语法格式:
/**
* 人
* @author lby
*
*/
public class Person {
//属性,成员变量,类的成员变量可以先声明,不用初始化,类成员变量是有默认值
String name;//姓名,String的默认值是null
int age;//年龄,int的默认值是0
//行为,方法,也叫函数
/**
* 打印姓名
*/
public void showName(){//方法的名称如果是多个单词,首个的单词的首字母小写,其他的单词首字母大写,这样就像一个驼峰一样,所有叫驼峰命名法
System.out.println("姓名:" + name);
getAge();//同一个类中,所有的方法可以直接互相调用,不用new去实例化对象
// public void xx(){}//方法中不能再定义方法
}
/**
* 获取年龄
* @return
*/
public int getAge(){//如果是一个有返回值的方法,那么方法体的最后一行一定是返回相应的数据,使用return关键字,返回的数据类型与方法定义的一致
return age;//方法上定义的int是返回值的类型,return后面跟的是方法的返回值
}
}
创建自定义类步骤
实例化类,创建对象
public class Test4 {
public static void main(String[] args){
//实例化Person类,也就是创建Person对象
Person person = new Person();//声明一个Person类型的变量,变量名person,实例化Person类并且给person赋值,赋值的值就是当前的实例
//new Person()就是实例化Person类
person.name = "张三";//给person对象的name属性赋值
person.showName();//对象的方法的调用
int i = person.getAge();//有返回值的方法,在调用之后就会有一个值,这个值就是方法中return的那部分
System.out.println(i);
person.age = 11;//给person对象的age属性赋值
int a = person.getAge();
System.out.println(a);
}
}
关于对象的使用:操作对象的变量,调用类的方法
public 公有的,这样的类变量可以在类的外部使用
private 私有的,可以在本类的方法使用,不能在类的外部使用
匿名对象
类的访问机制
方法的重载
概念:在同一个类中,允许存在一个义上的同名方法,只要他们的参数个数或者参数类型不同即可
特点:与返回值无关 只看参数列表,且参数列表必须不同。(参数个数或参数类型)调用时,根据方法参数列表的不同来区别。
重载示例: