• java中继承以及其他相关内容


                  今天了解一下一些面向对象编程的进阶知识,关于java中的继承的相关内容。

                  面向对象编程程序设计的一个重要特点就是类的重用,可以通过两种方法实现,一是将一个类的实例当作另一个类的属性,另外一种就是使用类的继承来实现,通过关键字extends,可以使一个类继承另一个类。继承的基本内容和c++相同,但是在java中需要注意的是:1.一个类只能从一个父类继承,不能从多个类中继承,即“单继承”方式;2.在java.lang包中有一个Object类,这个类是所有类的顶级父类,所有的java类,包括标准库中的类和自己定义的类,都直接或间接地继承了这个类。这个类没有任何的属性,只是定义了一些方法,因此,在java中,只要你定义了一个java类,就有一些默认的方法供你调用。

               关于访问控制问题。在java中,可以在类,类的属性及类的方法前面加上修饰符,来对类进行一些访问上的控制。在java中,定义了3个修饰符用来控制类,类的属性以及类的方法的访问范围。private:限制最严格,使用这个关键字来限制的属性或者方法只能在同一个类中被访问,需要注意一点,此修饰符不能用在类前面;default:在java中default不是关键字,只是对类,类的属性及类的方法的访问权限的一种称呼。如果在类,类的属性,类的方法前面没有添加任何的修饰符,则说它的访问权限就是default,在这种情况下,只有类本身或者同一个包中的其他类可以访问这些属性或方法,对于其他包中的类而言是不可以访问的;protected:使用此修饰符修饰的属性或方法,可以被同一个类,同一个包中的类及子类访问,需要注意此修饰符同样不能用在类前面;public:这个修饰符对类,类的属性及类的方法均可用,是最宽松的一种限制,使用这个修饰符修饰的类属性,类的方法可以被任何其他的类访问。一般来说,应该将和其他类无关的属性或方法设置为private的,只有需要将它给其他类访问的属性或方法才将它设置为public或protected,或者不加任何修饰符,即default。

               super关键字:在子类继承父类的过程中,可能需要在子类中调用父类中的成员,如属性,方法或者构造器,这个时候使用super关键字来完成。

               1.调用父类的构造器:super(父类构造器所需参数)

               2.调用父类属性:super.属性

               3.调用父类方法:super.方法()

               需要注意,在使用super关键字的调用父类的属性或方法时,父类的属性或方法必须是那些protected或public等可以让子类访问属性或方法。super主要用于在子类中定义了和父类中同名的属性,或进行了方法的覆盖,而又要在子类中访问父类中的同名属性或者覆盖前的方法的时候。

              this关键字:在编写类的方法的时候,会希望获得当前对象的引用,java引入关键字this,this代表其所在方法的当前对象:1.构造器中指该构造器所创建的新对象;2.方法中调用该方法的对象;3.在类本身的方法或构造器中引用该类的实例变量或方法。

             对于使用this调用当前对象的属性内容和c++一样,就是当局部变量名字和域的名字一样时,使用this用来区别;另一种必须使用this关键字的情况就是,需要在对象中明确地指明当前的对象引用是本对象的时候,比如需要返回当前对象的时候;还有就是在构造器中调用构造器,在一个类中,由于初始化条件不同,可能定义了多个构造器,在这些构造器中,可能一个构造器中的一段代码和另一个构造器完全相同,那么就可以在这个构造器中直接调用另一个构造器,使用this关键字,语法如下:this(参数);系统会依据参数的个数和类型找出类中匹配的构造器。需要注意,在一个构造器中最多只能调用一次其他的构造器,并且调用动作必须在构造器的起始处。

  • 相关阅读:
    springboot项目启动成功后执行一段代码的两种方式
    ELK相关资料整理
    Golang指针解析
    Golang文件操作
    Go Channel介绍
    Go语言new和make的区别
    SpringBoot+AOP实现记录操作日志和异常日志,并保存到数据库
    【面试专栏】Java 阻塞队列
    Linux安装Jenkins并构建SpringBoot工程
    Linux安装git
  • 原文地址:https://www.cnblogs.com/Wangjiaq/p/8545300.html
Copyright © 2020-2023  润新知