Java基础笔记

Java的构造函数

Java的构造函数声明方式为 (访问修饰符 类名(){ ...}),在对象被初始化的时候调用

代码如下:

public class MyClass {
    
    int id;
    
    public MyClass(int id){
        this.id = id;
    }
}

这里的构造函数在初始化的过程中,使用了this关键字,this关键字的作用是:在方法内区分局部变量和全局变量

Java构造函数和普通方法的区别

  • 调用方式不同,一个使用new,另一个使用对象名.方法名进行调用
  • 构造函数没有返回值
  • 构造函数的方法名和类名相同

方法的参数自动类型转换

方法的参数类型声明为(double a, int a)可以在传参时调入(1,2)

public class TempTest{

    public static void main(String[] args) {
        //自动类型转换 int -> double
        int a = 1;
        int b = 2;
        sum2(a,b);
    }

    public static void sum2(double a,int b){
        System.out.println("sum2");
    }
}

在方法的重载时,如果方法的形参类型和个数相同,顺序不同,也按隐式调用来操作的话,编译器会报异常!!!

public class TempTest{

    public static void main(String[] args) {
        //自动类型转换 int -> double
        int a = 1;
        int b = 2;
        sum(a,b); //这里编译不通过,因为编译器不知道选择哪一个函数
    }

    public static void sum(int a,double b){
        System.out.println("sum3");
    }

    public static void sum(double a,int b){
        System.out.println("sum2");
    }

}

一道面试题

方法的重载和重写的区别?

  1. 方法的重载发生在同一个类中,重载的特点是方法名相同,参数的个数不同,参数的类型不同,参数的排列顺序不同
  2. 方法的重写发生在有继承关系的子类和父类之间,可以概括为两同两小一大原则
    • 两同:方法名和参数列表相同
    • 两小:返回的异常类型和返回值类型小于父类的类型
    • 一大:访问修饰符权限更大

面向对象

面向对象:是一种软件开发方法, 和面向过程相比,把关注点从具体的执行过程放在具体的事物上面,把数据和处理数据的方法抽象成对象,然后负责管理这些对象

优点:

  • 代码模块化,容易多人协作和代码的故障定位
  • 扩展性更高

四大特性: 抽象,封装,继承,多态

抽象

把具体的事物属性和相同的行为特征进行抽象,形成一个对象

就比如一个学生:抽象成 学号,姓名,校名等属性,和打篮球,踢足球,学习等方法

封装

把需要处理的数据和处理数据的方法放在一起

优点:

  • 保证数据的安全性,对外访问只是提供访问接口,只能通过接口定义的规范对数据进行操作
public class MyClass {

    //属性声明为 private 只有本类能够访问
    private int id;

    public MyClass(int id){
        this.id = id;
    }

    public int getId() {
        return id;
    }
	//操作数据的接口,暴露给其他类使用
    public void setId(int id) {
        this.id = id;
    }
}
posted @ 2020-12-28 11:09  木禾兄  阅读(48)  评论(0)    收藏  举报