面向对象的基础

什么是面向对象?

  • 面向对象是一种编程方法;
  • 面向对象是一种思维方式
  • 面向对象不是一种编程语言

什么是面向对象的思维方式

  • 首先确定谁来做,其次确定怎么做
  • 首先考虑整体,其次考虑局部
  • 首先考虑抽象,其次考虑具体

面向对象的学习概括

  • 创建类的方法
  • 创建对象的方法
  • 对象和对象的引用

定义类的方法

class 类名
  {
      属性;
      方法;
//属性也叫成员变量,主要用于描述类的状态
//方法也叫成员方法,主要用于描述类的行为
  }

函数的重载

1:定义:在同一个类中;方法名相同;参数类表不同(个数不同,类型不同);不考虑返回值类型;的多个相同名字的函数

 class A{
     void fun(){  system.out.printIn("没有参数");}
     void fun(int a){  system.out.printIn("有一个参数");}
}

构造函数的作用

  • 创建对象
  • 为创建的对象的成员变量赋值
  • 构造函数的重载
  • 在子类的构造函数当中,必须调用父类的构造函数
1:定义:
A a=new A()   //构造函数

calss A(){
    A(){
          }
}

注意:
* 没有返回值类型,方法名必须跟类名相同;
* 原来我们写类的时候并没有些构造函数,编译器会检测类有没有构造函数,没有会加一个没有参数且方法体为空的构造函数。
* 当类中有构造函数时,系统就不会给类自动加上没有参数的构造函数

面向对象特性

继承性

一:定义
【1】在现实世界中就是子承父业
【2】在面向对象的世界当自己当中,继承就是一个雷得到了另一个类当中的成员变量和成员方法
注:

  • 在Java当中只支持单继承,不允许多继承,
  • 子类不能继承父类中访问权限为private的成员变量和方法,
  • 子类可以重写父类的方法,以及命名与父类同名的成员变量
  • 当继承父类中的时候,如果父类中有抽象方法,就会重写父类中的抽象方法
  • 不会继承父类的构造函数,在子类的构造函数当中,必须调用父类的构造函数
  • 在子类的构造函数当中,必须调用父类的构造函数

二:使用super调用父类的构造函数的方法

使用super调用父类的构造函数的方法
在子类的构造函数当中,必须调用父类的构造函数
class Person  {

   String name ;
   int age;
   Person(){
   System.out.printIn("无参数的构造函数");    
}    
 Person(String name,int age){
 
    this.name=name;
    this.age=age;
    }
}
class  Student extends Person{
    String grade;
    
    Sudent (){
    super();
    System.out.printIn("无参数的构造函数");   //super调用父类中的构造函数,具体调用哪一个看夸括号里的参数
    
  }    
    Student(String name,int age,int grade){
        super(name,age);//必须是构造函数内容的第一句
        this.grade=grade;
    }
}

使用super调用父类的成员函数
 class  Person{
      String name;
      int age;
    void introduce(){
    System.out.pringIn("我的姓名是"+name+“我的年龄是”+age); 
        }  
 }

   calss Student extends Person{
         void introduce(){
         super.introduce();
          Systenm.out.printIn("我的家在"+address);
        }
} 

class Text {
    public static void main(String args[]){
                Student s=new Student();
                s.name="张三";
                s.age=20;
                s.address="北京";
                s.introduce();
                
        }
}

三:函数的复写(override)
1:定义:
【1】:在具有父子关系的两个类当中;
【2】:父类和子类各有一个函数,这两个函数的定义(返回值类型,函数名和参数列表)完全相同
子类继承父类的函数,有的需要更改的过程
【3】如果子类复写了父类的方法,则运行是系统调用子类的方法,如果子类继承了父类的方法(为重写),则运行是调用父类的方法

封装性
多态性

你可能感兴趣的:(面向对象的基础)