大龄屌丝自学笔记--Java零基础到菜鸟--016

封装,private,构造函数,this,类的初始化过程,static,静态变量与成员变量的区别

1、封装

封装概述:隐藏对象的属性和实现细节,仅对外提供公共访问方式。

封装好处:提高了代码的安全性、复用性。

封装原则:将属性等不需要对外提供的内容都隐藏起来,提供公共方法对其访问。

2、private

private:访问修饰符,可以修饰成员变量和成员方法,只在本类才能访问。

3、构造函数

构造函数:对象的初始化方法。

定义格式: public 对象名,如:public Fin(); , public Fin(int age);

注意事项:如果没有自定义构造函数,系统默认提供无参构造函数。

     如果已有自定义构造函数,系统不再提供无参构造函数。

4、this

this:指当前类的对象引用,即谁调用这个方法,方法中的this就代表谁。

 1 class Student{
 2     private int age;
 3
 4     public Student(){
 5     }
 6
 7     public Student(int age){
 8         this.age=age;
 9     }
10
11     public int getAge(){
12         return age;
13     }
14
15     public void setAge(int age){
16         this.age=age;
17     }
18 }
19
20 //this.age即成员变量age,避免了成员变量被同名局部变量隐藏

5、类的初始化过程

(1)加载.class文件。

(2)为对象变量在栈中开辟内存空间。

(3)为对象在堆中开辟内存空间。

(4)成员变量默认初始化。

(5)成员变量显示初始化。

(6)执行构造函数。

(7)将对象地址赋值给对象变量。

6、static

static:静态修饰符。

特点:优先于对象存在,随着类的加载而加载,被类的所有对象所共享,可以通过类名调用。

 1 class Liverpool{
 2     public Liverpool(){
 3         System.out.println("1");
 4     }
 5
 6     static int n=ynwa();
 7
 8     static int ynwa(){
 9         System.out.println("2");
10         return 1892;
11     }
12 }
13
14 class Fin{
15     public static void main(String[] args){
16         Liverpool liv=new Liverpool();
17     }
18 }
19
20 //先输出2,后输出1

注意事项:静态方法中不存在this,并且只能访问静态的方法和成员变量。

7、静态变量与成员变量的区别

所属不同:静态变量,类变量。

     成员变量,实例变量。

内存位置不同:静态变量,静态区。

       成员变量,堆内存。

内存时间不同:静态变量,随着类的加载而加载。

       成员变量,随着对象的创建而创建。

调用方式不同:静态变量,通过类名调用。

       成员变量,通过对象调用。

时间: 2024-10-06 00:07:09

大龄屌丝自学笔记--Java零基础到菜鸟--016的相关文章

大龄屌丝自学笔记--Java零基础到菜鸟--017

代码块,继承,this 和 super,方法的重写 1.代码块:使用 “{}” 括起来的代码,称为代码块. 构造代码块:在类中的成员位置,用 “{}” 括起来的代码. 静态代码块:构造代码块+静态修饰符. 局部代码快:局部位置,用于限定变量的生命周期. 1 class Test{ 2 static { 3 System.out.println("静态代码块"); 4 } 5 6 { 7 System.out.println("构造代码块"); 8 } 9 10 pu

大龄屌丝自学笔记--Java零基础到菜鸟--028

泛型,for循环增强应用,静态导入,可变参数,asList() 1.泛型 约束了数据类型,格式为 <数据类型>,如:ArrayList<int> aList=new ArrayList<int>(); 泛型通配符:<?> Object及任意类,<?extends E> E类及其子类,<?super E> E类及其父类. 2.for循环增强应用 1 ArrayList<String> aList=new ArrayList&

大龄屌丝自学笔记--Java零基础到菜鸟--005

关键字,标识符,注释,常量 1.关键字 Java语言具有特定含义的单词,字母全部小写,如:class.public.static.void...... 2.标识符 给接口.类.方法.变量起的名字,如:Fin.main ...... 组成规则:英文字母.数字.$._ ...... 注意事项:不能以数字开头,不能使用关键字,英文字母区分大小写 命名规则:包:小写字母组成,多级包上下级间加 “.” ,如:liverpool(单级包).liverpool.gerrard(多级包) ...... 接口:大

大龄屌丝自学笔记--Java零基础到菜鸟--003

配置环境变量:Path,classpath 1.Path,可以在任意地方执行 “javac.exe” . [计算机]右键[属性]--[高级]选项卡[环境变量]--系统变量[新建],变量名输入 “Java_Home” ,变量值输入JDK安装目录--[确定]. 选择系统变量 “Path” [编辑]--变量值前输入 “%Java_Home%\bin;” --[确定]. 2.classpath,可以在任意地方执行指定目录中的 “.class” 文件. 系统变量[新建],变量名输入 “classpath”

大龄屌丝自学笔记--Java零基础到菜鸟--004

Notepad++下载.安装.设置 1.下载 百度Notepad++,选择百度下载. 2.安装 下载完成后,双击安装文件,下一步傻瓜式安装. 3.设置 启动Nodepad++,[设置]--[首选项]. [首选项]选项卡中,选择[新建],设置 “默认语言” 为 “Java” ,设置 “编码” 为 “ANSI” ,点击[关闭]完成设置,以后可以使用Notepad++编写Java代码.

大龄屌丝自学笔记--Java零基础到菜鸟--001

JDK的下载和安装 1.下载JDK 下载地址:http://www.oracle.com 选择操作系统对应的安装文件. 2.安装JDK 双击启动安装文件,下一步傻瓜式安装,安装路径不要有中文.空格. 安装完成后,win+R,输入“cmd”回车,启动控制台. 直接输入“java”回车,验证是否安装成功. 如图表示安装成功. 3.JDK的卸载 控制面板中卸载.

大龄屌丝自学笔记--Java零基础到菜鸟--002

Hello World 1.进入JDK安装目录下的bin文件夹,新建记事本文件liverpool.txt. 2.在记事本中输入以下代码,并关闭保存. 1 class Fin{ 2 public static void main(String[] args){ 3 System.out.println("Hello World"); 4 } 5 } 3.修改记事本文件后缀名为.java 4.启动控制台,进入该文件夹,输入 “javac liverpool.java” 回车,编译,生成类文

大龄屌丝自学笔记--Java零基础到菜鸟--020

包,权限修饰符,内部类,练习题 1.包 包:package,对类进行分类管理的文件夹. 包的格式:package 包名,多级包用 “.” 隔开,如:package asia.persia . 带包文件的编译:手动创建相应的文件夹:或者编译命令加 “ -d” ,如:javac -d liverpool.java . 访问不同包中的类文件:类文件前加上包的全路径,如:asia.persia.Demo de=new asia.persia.Demo(); . 使用 “import” 关键字导入包. i

大龄屌丝自学笔记--Java零基础到菜鸟--037

类的加载.类加载器.反射 1.类的加载 系统会通过加载.连接.初始化三步来实现类的初始化. 2.类加载器 根类加载器:Bootstrap ClassLoader 扩展类加载器:Extension ClassLoader 系统类加载器:System ClassLoader 3.反射 Class[类]:Constructor[构造方法],Method[成员方法],Field[成员变量].