在Java中简单的把包看成是文件夹
将Java源文件和class字节码文件分包进行管理,方便我们对程序的维护和管理。
package 公司域名反写.项目名.模块名.子模块名;
注意:声明包的时候,应该全部都是英文,且所有字母应该全部小写,除此之外,声明包的语句必须放在整篇代码的第一行(注释不算)。
Java.lang java的核心包,java的核心包(在java.lang包下面的直接类都不需要手动 导入包,它底层会自动导入的) 如:String 、 System,如果是java.lang的 子孙包下面的类或者接口,都是需要手动导入包的
Java.util Java工具包
Java.awt 图形化界面包
Java.net 网络编程包
java.io 输入输出流包
①直接import+包
例如:import java.util.Arrays;
Arrays.sort();
如果导入的两个包的类名相同,那么就只能导入一个,另一个全部手写
例如:java.util.Date date;
java.sql.Date date2;
这里就只能导入一个
import java.util.Date;
Date date;
java.sql.Date date2;
②*导包(*指的是类,不是包):java.util.*; 在当前文件中导入的类是当前使用到的类,并不是导入util包下面所有的类
封装的作用在于安全,防止暴力访问我们应用程序,应该以正确的方式去访问我们的应用程序
1、字段私有化;
2、给每个字段提供一组setter、getter方法进行对字段的取值和赋值
1、对象名.字段名 真实开发时不适用,因为我们的字段一般要私有化,他 不能访问私有成员
2、构造方法 在字段初始化的时候给字段赋值。
3、setter、getter方法 最常用,既可以给私有字段赋值,也可以取值
答:不是,因为构造方法是在字段初始化的时候给它赋值,而setter、getter方法可以在后续中随时给字段赋值、取值。
1、类必须被public所修饰;
2、字段必须私有化,且为每个字段提供一组setter、getter方法进行赋值和取值;
3、必须有一个无参数的构造方法。
如何判断当前对象是谁?可以通过谁在调用this所在的方法,this就代表谁来判断。
①消除局部变量和成员变量之间的二义性
②调用构造方法 仅仅是调用,不会创建对象。注意:this(...)调用构造方 法必须位于构造器的第一行
语法格式:this(..) 括号中可为任意个数的参数
实例:如上图。
1、New Xxxx();调用构造方法
2、this(...); 仅仅只是调用构造方法,不会创建对象。注意:this调用构造方法 必须位于构造器的第一行
This既然表示当前一个对象,一个对象就是一个数据,因此,对象可以作为值进行传递。
This既然表示当前一个对象,一个对象就是一个数据,因此,对象可以作为值进行返回。
把子类公共的代码进行向上抽取,子类中只写特定的代码即可
少写代码,提高代码的复用性。
语法格式:class A{}
class B extends A{}
类与类之间只能是单继承
1、非私有化的字段、方法(访问层面);
2、不能继承构造方法
继承的理解:
①继承是可以继承父类所有的方法和属性的(构造方法除外),只是继承到的私有方法、私有属性不能访问(但是可以通过公共的方法进行访问)--这是继承层面;
②因此我们就从能被访问稳层面理解,继承只能继承非私有化的成员。
实例化:生成实例的过程
子类实例化时父类会先实例化一个父类对象,然后在父类对象的基础上加上子类对象独有的成员就成了子类的对象,因此说父类有的子类都有,只是父类私有的子类不能直接访问而已。
父类:基类、超类、根类
子类:派生类、扩展类
转载于:https://www.cnblogs.com/limengkun/p/10598988.html