Java的一些小知识

目的;(1)先与对象创建可以做的操作

            (2)代码块

            (3)继承

             (4)多态

一、先与对象创建可以做的操作

1、首先是我们的构造方法,嗯,从内存说起吧。我们创建一个类(抽象)时,系统会将它存放在方法区,然后再在堆里分配一个空间存储我们的对象,其中会进行赋值,赋值后,再把这个对象的地址给在栈里面的局部变量,而我们的构造方法就在这个赋值的过程中,因此之所以说是在对象“之前”,是因为,我们通常用的就是那个变量所指的地址而不是那个对象。

2、静态,也就是static 。上面第一点我提到过,创建类时会在方法区给类一个空间,而在这个过程中,系统会将静态属性或方法放在另一个地方,嗯,具体什么地方么你就叫它静态区吧,这样会产生一个结果,那就是这个静态区会在运行这个类时先于这个类运行,那么,这里也只能运行静态区里的东西了,这也是为啥静态方法里不能有对象方法和对象的原因了。

3、代码块,就是一个方法前面啥也没有,即这种形式“{}”,它会在对象创建之前运行,嗯,从上到下的顺序,类似与C语言吧。

二、代码块

1、代码块在对象创建之前/构造方法之前就被调用,而每个类都有构造方法,我们没有定义的系统会自动分配一个。

2、代码块规则

 (1)、顺序从上到下

 (2)、可以有多个代码块

 (3)、静态代码块里面不能调用成员变量和实例方法

 (4)、代码块无法直接调用,可操作性不强,尽量少写,可以将多个代码块合在一起

 (5)、修饰符只有static

 (6)、用到了成员变量的话,放在其之后

三、继承

1、形式:继承  A extends B

其实就是子类获得父类的方法和属性,并且看情况和需要添加自己的属性和方法

注意:Java只能但继承,但可以变向“多继承”,如一个子类的父类其实是其它类的子类,那么这个子类就相当与继承多个了。

2、子类会继承public、而private子类不会继承、protected相同包类的子类可以继承

3、当调用子类的一个方法时,如果没有就会到父类里面去查找。有的话会形成一个“覆盖”,即系统默认为子类的这个方法,如果要使用父类的方法,可以用super(加方法名)。

我们可以用 @Override 重写内容。 修改父类的方法时,父类自己的方法可以根据需求决定要还是不要,子类可以自己在父类方法实现之前或实现之后

4、 子类中构造函数必须先使用父类的构造函数,但是父类没有时可以随便,但父类有一个有参构造函数时,在子类的构造函数区域内用super(父类的参数),再把剩下的参数用this.参数=参数。

四·、多态(就很简单了)

 1、同一个方法 多种实现——子类覆盖方法(重写)

 2、如果有继承关系:子类的对象可以使用父类变量接收——类型的自动向上转换,不能反过来,而所以的类都直接或间接的是object的子类,因此任何类的对象都可以用object的变量来接收(如果需要子类的方法时,我们可以用A(类名)+变量名=(A)+object 那个变量(其它也行))。

感想:了解的知识还是不够全面呀,只能将老师讲的内容大致打出来,自己延伸时却又会出现很多问题,嗯,加油吧!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 整理来自互联网 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具...
    Ncompass阅读 1,616评论 0 6
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,800评论 0 11
  • 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发...
    慕容小伟阅读 1,936评论 0 10
  • 1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元,封装数据和逻辑,以此提...
    征程_Journey阅读 1,256评论 0 2
  • 面向对象笔记 一、 对象在内存中的存放方法以及被调用过程 class文件首先被加载到方法区中的class文件内容区...
    VictorBXv阅读 556评论 0 2

友情链接更多精彩内容