基础知识随便回顾回顾之Java_03(Java中一些基本东西)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了基础知识随便回顾回顾之Java_03(Java中一些基本东西),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4089字,纯文字阅读大概需要6分钟。
内容图文
一些概念
1、封装
定义:
隐藏对象的属性和实现细节,仅对外提供公共访问方式
好处:
a、将变化隔离
b、便于使用
c、提高重用性
d、提高安全性
原则:
把不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问
个人理解:
你不需要知道我是什么人也不需要知道我会干什么,你只要明白我能给你你想要的,别的什么都不要问不要管。
2、修饰符
private
私有修饰符,权限修饰符,用于修饰类中的成员(成员变量,成员方法)只在本类中有效
私有仅仅是封装的一种表现形式
个人理解:
我就是一个保镖,保护你的隐私不被窥探。
static
修饰符,用于修饰成员–多个对象拥有共同数据
特点
a、随着类的加载而加载–静态会随着类的消失而消失
b、优先于对象存在
c、被所有对象共享
d、可以直接被类名调用
使用注意事项
1.静态方法只能访问静态成员,非静态方法可以访问静态成员
2.静态方法中不可以定义this,super等关键字,因为静态优先于对象存在,所以不可能出现this
3.主函数是静态的
什么时候使用静态
1、静态变量:对象中出现共享数据时;
特有数据要定义成非静态存在于堆内存中
2、静态函数:功能内部没有访问到非静态数据(对象的特有数据)那么可以定义为静态
静态利弊
利:对对象的共享数据进行单独空间存储,节省空间;可以直接被类名调用
弊:生命周期长,访问有局限性
Hello(不知道写啥)
当成员被static修饰时,就多了一个调用方式,除了可以被对象调用外,还可以被类名调用,类名.静态成员
实例变量与类变量区别
1.存放位置–类变量随着类的加载而存在于方法区中,实例变量是随着对象的建立而存在于堆内存中
2.生命周期:类变量是生命周期最长的,随着类的消失而消失;实例变量生命周期随着对象的消失而消失
final修饰符:可以修饰类,函数,变量
被final修饰的类不可以被继承,避免被继承,被子类复写
被final修饰的方法不可以被复写
被final修饰的变量是常量,只能赋值一次,既可以修饰成员变量又可以修饰局部变量
内部类定义在类中的局部位置上时,只能访问该局部被final修饰的局部变量
3、构造函数、构造代码块和静态代码块
构造函数:
对象一建立就会调用与之对应的构造函数
作用:用于给对象进行初始化
构造代码块:
给对象进行初始化,对象已建立就运行,而且优于构造函数执行
静态代码块
随着类的加载而执行,只执行一次,并优先于主函数,用于给类初始化
构造函数和构造代码块的区别
构造代码块优先于构造函数;构造代码块是给所有对象共性进行初始化,构造函数是对特定对象进行初始化
子父类的构造方法
三个类:祖父类,父类,子类,层次继承,都有一个属性,都有无参和有参两种构造方法
使用子类无参构造方法创建子类对象时:
使用子类有参构造方法创建子类对象时:
可以看出来,不管子类用什么构造方法创建对象都会所继承的父类的无参构造方法。默认的当没有定义构造方法时,每个类都是有一个无参构造方法,但是当定义了有参构造方法则没有了无参构造方法,而每当子类创建对象时都需要用到父类的无参构造方法,所以如果父类定义了有参构造方法时,必须手动的在定义一个无参构造方法,不然编译的时候就会报错。
4、继承
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
好处
1.提高代码的复用性
2,让类之间产生关系,有了这个关系才有了多态
注意
使用一个体系中功能时:查阅父类功能,创建子类对象使用功能
不要为了获取其他类功能简化代码而继承,必须是类与类之间有所属关系才可以继承
重载与重写(覆盖)
重载
指同一个类中的多个方法具有相同的名字,但这些方法具有不同的参数列表,即参数的数量或参数类型不能完全相同
注意: 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。
重写(覆盖)
(1) 父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。
但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。
方法重写又称方法覆盖。
(2)若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。
如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
(3)子类函数的访问修饰权限不能少于父类的;
注意:
子类中不能重写父类中的final方法
子类中必须重写父类中的abstract方法
这也叫做多态性,重写方法只能存在于具有继承关系中,重写方法只能重写父类非私有的方法。
当上例中Father类speak()方法被private时,Son类不能重写出Father类speak()方法,此时Son类speak()方法相当与在Son类中定义的一个speak()方法。
Father类speak()方法一但被final时,无论该方法被public,protected及默认所修饰时,Son类根本不能重写Father类speak()方法,
这个博客讲的很细,抄不过来了,有兴趣可以看看
内容总结
以上是互联网集市为您收集整理的基础知识随便回顾回顾之Java_03(Java中一些基本东西)全部内容,希望文章能够帮你解决基础知识随便回顾回顾之Java_03(Java中一些基本东西)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。