JAVA入门基础知识系列006-创新互联
理解:
专注于为中小企业提供网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业蒙城免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。 被哪个对象调用,this就指向哪个对象
注意事项和使用细节:
- this关键字可以用来访问本类的属性、方法、构造器
- this用于区分当前类的属性和局部变量(加了this前缀的就指向属性)
- 访问成员的语法:this.方法名(参数列表);
- 访问构造器语法:this(参数列表);只能在构造器中调用this访问另一个构造器,并且该条语句必须放在构造器中第一条
- this不能在类定义的外部使用,只能在类中的方法使用,否则找不到this指向哪个对象。
题外知识:
String转char:*
string str = "hello"; const char* p = str.data();//加const或者用char* p = (char*)str.data();的形式,c_str()方法也有同样的效果
string str = "world"; char p[50]; str.copy(p, 5, 0);//这里5代表复制几个字符,0代表复制的位置 *(p + 5) = '\0';//手动添加结束符!!!
char*转string
//直接赋值 string s; char* p = "hello"; s = p;
包的本质就是创建不同的文件夹来保存类文件
包的三大作用:- 区分相同名字的类
- 当类很多时,可以很好的管理类【看java API文档】
- 控制访问范围
- package关键字,表示打包
- com.hspedu表示包名
举例:package com.hspedu
命名规范:一般是com.公司名.项目名.业务模块名
com.sina.crm.user//用户模块
com.sina.crm.order//订单模块
com.sina.crm.utils//工具类
常用的包java.lang.* //jang包时基本包,默认引入,不需要再引入
java.util.* //系统提供的工具包,使用Scanner
java.net.* //网络包,网络开发
java.awt.* //做java界面开放,GUI
包的引入import java.util.Scanner;//只会引入java.util包下的Scanner
import java.util.*;//会引入java.util包下面的所有类
**注意:**import只能放在package的下面,一个类中最多只有一个package,指示当前文件属于哪个包
访问修饰符1 | 访问级别 | 访问控制修饰符 | 同类 | 同包 | 子类 | 不同包 |
---|---|---|---|---|---|---|
2 | 公开 | public | √ | √ | √ | √ |
3 | 受保护 | protected | √ | √ | √ | × |
4 | 默认 | 没有修饰符 | √ | √ | × | × |
5 | 私有 | private | √ | × | × | × |
- 使用注意事项
- 修饰符可以修饰类中属性,成员方法和类
- 只有默认和public才能修饰类
定义:
封装(encapsulation)就是把抽象出的数据[属性]和对数据的操作[方法]封装在一起,数据被保护在内部,程序的其他部分只有通过被授权的操作[方法]才能对数据进行操作。
好处:
- 隐藏实现细节
- 可以对数据进行验证,保证安全合理
- 将属性进行私有化private【不能直接修改属性】
- 提供一个公共的(public)set方法,用于对属性判断并赋值
- 提供一个公共的(public)get方法,用于获取属性的值
介绍:
继承可以解决代码复用,当多个类存在相同 的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所以子类不需要重新定义这些属性和方法,只需要通过extends来声明继承父类即可。
继承的基本语法:
class 子类 extends 父类{}
- 子类会自动拥有父类定义的属性和方法
- 父类又叫超类、基类
- 子类又叫派生类
子类必须继承父类的构造器 ,完成父类初始化
当创建子类对象时,不管使用子类的哪个构造器,默认情况下总会去调用父类的无参构造器,如果父类没有提供无参构造器,则必须在子类的构造器中用super去指定使用父类的哪个构造器完成对父类的初始化工作。
super必须放在构造器的第一行,所以不能和this()连用
java所有类都是Object类的子类,Object是所有类的基类
父类构造器的调用不限于直接父类,将一直往上追溯到Object类(顶级父类)
子类最多只能继承一个父类,单继承机制
方法重写/覆盖(override)基本介绍:
子类中的一个方法和父类中一个方法的方法名,传入参数都一样,返回类型与父类同名方法返回类型一样或是其子类,则子类中的这个方法会覆盖父类中的方法。
注意事项:
子类方法重写不能缩小访问权限,可以扩大访问权限
名称 | 发生范围 | 方法名 | 参数列表 | 返回类型 | 修饰符 |
---|---|---|---|---|---|
重载 | 本类 | 必须一样 | 类型、个数或者顺序至少有一个不同 | 无要求 | 无要求 |
重写 | 父子类 | 必须一样 | 相同 | 子类重写的方法返回类型和父类的类型一致或者是其子类 | 子类方法不能缩小父类方法的访问范围 |
- 重要的几句话:
- 一个对象的编译类型和运行类型可以不一致
- 编译类型在定义对象时就确定了,不能改变
- 运行类型是可以变化的
- 编译类型看定义时 = 号的左边,运行内心看 = 号的右边
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
新闻名称:JAVA入门基础知识系列006-创新互联
URL标题:http://cdiso.cn/article/shcdc.html