今日份鼓励:每日循环的学习,是在积累,你逃脱贫困资本!!
小知识:
1.this.成员变量名的意义可以与 对象.对象名 近似
2. 方法区存储类的信息
3.this()只能放在构造方法中
4.ieda的使用技巧,我会专门写一下IDEA的使用,并且不断的完善
5.
目录
一、了解封装
1.包的定义:
2.导入包使用import
3.Java常用的包
二、static的使用
三、代码块的认识
上期回顾:
什么是面向对象? 在一个任务上,对象间相互交互完成。 抽象对象 创建对象 使用对象
什么是类? 类就像是一个模板,一个类可以有多个对象
class classname{
成员变量;
成员方法;
}
什么是对象? 通过类实例化一个对象,通new关键字来创建对象。
构造方法的调用 在new创建对象时调用(参数可以不带),构造方法可以重载,当我们没有设置构造方法,编译器会自己生成一个无参数的构造方法
toString的使用 我们没有设置时,打印的是类型与哈希值,我们自定义后可以打印对象
例:,
①没有重写toString
②重写toString
一、了解封装
面向对象的三大特点:封装、继承、多态。
访问修饰限定符:
public: 该项目内都能使用
private: 只能在当前类中使用
protected: 在同一包中使用
不使用修饰,默认: 在同一包中,及它的子类可以使用
package com.bit.demo1;
public class TestDemo {
int a = 10; //只能在同一包中使用
public int b = 20; //该项目内都能使用
private int c = 30; // 只能在当前类中使用
protected int d = 40; //在同一包中使用,及其不同包中的子类
public static void main(String[] args) {
TestDemo testDemo = new TestDemo();
System.out.println(testDemo.a);
System.out.println(testDemo.b);
System.out.println(testDemo.c);
System.out.println(testDemo.d);
}
}
封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。
1.包的定义:
为了更好的管理类,把多个类收集在一起成为一组,称为软件包,包是对类、接口等的封装机制的体现,是一种对类或者接口等的很好的组织方式,在同一个工程中允许存在相同名称的类,只要处在不同的包中即可。
2.导入包使用import
①使用 import语句导入JAVA设计好的包
②用import static导入包中静态的方法和字段。
注意 :不推荐使用!!!
③引入自己定义的包
1.名称一般是公司名称域名的倒写:例com.baibu.www
2.不同的class在不同的包中可以同名
3.package 是声明包的路径
3.Java常用的包
java.lang:系统常用基础类(String、Object),此包从JDK1.1后自动导入。
java.lang.reflect:java 反射编程包; 3. java.net:进行网络编程开发包。
java.sql:进行数据库开发的支持包。
java.util:是java提供的工具程序包。(集合类等) 非常重要
java.io:I/O编程开发包。
二、static的使用
static修饰的成员方法:静态成员方法/类方法
static修饰的成员变量:静态成员变量/类变量
static修饰后的变量可以直接用类名访问,也可以使用对象使用,推荐使用第一个,不用创建对象
即使没有对象,也可以直接使用,本质上它是属于类变量
使用static修饰的变量与方法:
1.在普通方法当中可以使用静态变量
2.在静态方法当中不可以使用普通变量,因为普通变量依赖对象的
1.修饰变量
2.修饰方法
static静态成员的特征:
1.不需要每个具体的对象,可以直接用类名.成员名使用
2.即可以通过对象调用也可以通过类名调用
3.类变量存储在方法区当中
4.静态成员的生命周期伴随类的一生
5.方法区与堆是同等级的对象,但是方法区的实现在堆中
三、代码块的认识
1.实例代码块——用于初始化实例成员变量
①优先于构造方法使用,在字节码
2.静态代码块——用于初始化静态成员变量
①在实例代码块前执行,但每个类的创建后实例化只执行一次
②多个静态代码块会根据定义的顺序来赋值
3.本地代码块——定义方法内的代码块
很少使用 !!!
4.同步代码块——在以后我会讲解的,先欠着



