小白的20天Java学习打卡day18【完结撒花】

太原理工大学机器人团队20天学习打卡day18


今天是学习java基础的最后一天,比计划中少用了两天,由于我是因为兴趣才学java的,目前还不打算往这方面发展,所以学完java基础也不会深入下去了,我打算明天回顾一下这18天所学的内容,并且开始新项目的学习,感谢视频老师的讲解以及大家的陪伴哟

今天学习的内容是final关键字、package和import以及访问控制权限


1、final关键字

①基础语法

  • final表示最终的,不可变的

  • final修饰的类无法被继承

  • final修饰的方法无法被覆盖

  • final修饰的变量一旦赋值之后不可重新赋值

  • final修饰的实例变量必须手动赋值,不能采用系统默认值

public class FinalTest02 {
	//成员变量之实例变量
	//实例变量有默认值+final修饰的变量一旦赋值不能重复赋值
	//综合考虑,java语言规定实例变量使用final修饰之后,必须手动赋值,不能采用系统默认值。
	//编译错误
	//final int age;
	
	//第一种解决方案
	final int age = 10;
	
	//第二种解决方案
	final int num;
	public FinalTest02(){
		this.num = 200;
	}
	//以上的两种解决方式本质上就是一种方式,都是在构造方法执行过程中给实例变量赋值。
	public static void main(String[] args) {
		
	}

}
  • final修饰的引用
public class FinalTest03 {
	public static void main(String[] args) {
		//创建用户对象
		User u = new User(100);
		
		//又创建了一个新的User对象
		//程序执行到此处表示以上对象已变成垃圾数据,等待垃圾处理器回收
		u = new User(200);
		
		//创建用户对象
		final User user = new User(30);
		//user = new User(50);
		//final修饰的引用一旦指向某个对象之后,不能再指向其他对象,那么被指向的对象无法被垃圾回收器回收
		user.id = 50;
		//final修饰的引用虽然指向某个对象之后不能再指向其他对象,但是所指向的对象内部的内存是可以被修改的
	}

}

②常量

  • final修饰的实例变量是不可变的,这种变量一般和static联合使用,被称为常量
  • 常量的定义语法格式:public static final 类型 常量名 = 值;
  • java规范中要求所有常量的名字全部大写,每个单词之间使用下划线连接

2、package和import

①java语言中的包机制

  • 包又称为package,java中引入package这种语法机制主要是为了方便程序的管理。不同功能的类被分门别类放到不同的软件包当中,查找比较方便,管理比较方便,易维护
怎么定义包
  • java源程序第一行上编写package语句
  • package只能编写一个语句
  • 语法结构:package 包名;
包的命名规范
  • 公司域名倒序 + 项目名 + 模块名 + 功能名

  • 采用这种方式重名的几率较低

  • 包名也是标识符,必须遵守标识符的命名规范,全部小写

  • 一个包对应一个目录。

使用package之后怎么编译呢?怎么运行呢?
  • 使用package机制之后,类名变成了包名+类名

例如:类名是cn.tyut.test.Test01

package cn.tyut.test;
public class Test01
{
	public static void main(String[] args){
		System.out.println("Test01's main method executeZ!");
	}

}
  • 编译:javac java源文件路径(在硬盘上生成一个class文件:Test01.class)

  • 手动创建目录,将Test01.class文件放到指定目录下

  • 运行:java cn.tyut.test.Test01

②import

当两个类不在同一个包中,类名前的包名不能省略,会显得很麻烦

import语句用来导如其他类,同一个包下的类不需要导入,不在同一个包下需要手动导入。

语法格式

import 类名;

import 包名.*;

import语句需要编写在package语句之后,class语句之前

**java.lang.***不需要手动引入,系统自动引入


3、访问控制权限

  • 访问控制权限修饰符来控制元素的访问范围
  • 访问控制权限修饰符包括
    • public 表示公开的,在任何位置都可以访问
    • protected 同包,子类
    • 缺省 同包
    • private 表示私有的
  • 访问控制权限可以修饰类,变量,方法
  • 当某个数据只希望子类使用,使用protected进行修饰
  • 修饰符的范围
    • private < 缺省 <protected < public
  • 类只能采用public和缺省的修饰符进行修饰。【内部类除外】

【完结撒花】!!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值