0 前言
面向对象编程是一种编程范式,它把现实世界中的事物抽象为对象,对象具有属性和方法,属性表示对象的特征,方法表示对象的行为。对象之间可以通过消息进行交互。面向对象编程的优点是可以提高代码的复用性、可维护性和可扩展性。在本文中,我们将介绍面向对象编程的三个高级特性:封装、继承和多态。我们将学习如何利用封装来隐藏对象的内部实现细节,如何利用继承来建立类之间的层次关系和代码重用,如何利用多态来实现不同对象对同一消息的不同响应。我们还将探讨一些面向对象编程的应用场景和设计原则。
1 构造方法
1.1 定义
是一个方法名和类名相同且不用定义返回值类型的方法。
1.2 语法
系统默认提供无参构造方法,不执行任何操作并隐藏。
1.3 作用
对象初始化(创建对象时对对象的属性进行赋值操作)
1.4 重载
1)方法名相同
2)参数类型或是个数不同
3)和返回值、修饰符无关
普通方法重载:
public class User{
//普通方法重载
//条件:一定是多个方法之间才能构成重载
//1.方法名相同,参数类型不同
public void show1(int a){
}
public void show1(String a){
}
//2.方法名相同,参数个数不同
public void show2(int a){
}
public void show2(int a,int b){
}
//1.和返回值无关-->不构成方法重载
public void show3(){
}
public int show3(){
}
//2.和修饰符无关-->不构成方法重载
public void show4(){
}
private void show4(){
}
}
构造方法重载:
public class Person{
//构造方法重载
//1.方法名相同,参数类型不同
public Person(int a){
}
public Person(String a){
}
//2.方法名相同,参数个数不同
public Person(int a){
}
public Person(int a,int b){
}
//3.和修饰符无关-->不构成构造方法的重载
public Person(){
}
pricate Person(){
}
}
2 static
2.1 static修饰方法和变量
public class Dog{
//static修饰的变量,可以通过类直接调用
static String name;
//static修饰的方法,可以通过类直接调用
public static void eat(){
System.out.println("吃鱼")
}
public static void main(String[] args){
//非static修饰的变量和方法,需要通过创建对象的方式调用
//Dog dog = new Dog();
//dog.name = "旺财";
//dog.eat();
Dog.name