JAVA01(待补充)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


2、基本概念

(1)变量

可以修改内容的量。可以看成一个房间,房间里原先放的是水,我可以让他放别的,比如说番茄

定义一个变量
修饰符 数据类型 变量名 = 变量值;
public int a;		//定义一个叫做a的变量,但是里面什么都没放,默认为0
public int b = 5;		//定义一个变量b,值为5
b = 10;				//我把值改成10了

像之前Teacher的name也是一个变量
我们调用他,如果是在本类里,直接调用即可
main方法里通过对象调用

class Teacher{
public int a = 10;
public void w(){
	System.out.println(a);				//本类中的方法调用直接调用
	}
}
public class Testt(){
	public sttatic void main(String args[]){
		System.out.println(new Teacher().a);		//通过对象调用
	}
}
变量的分类

写在类里的叫成员变量
写在方法里的叫局部变量
被static修饰的是静态变量,类变量

变量的作用域

作用域在一个大括号内

class A{
	static int b;
	int a = 2;		//a是成员变量,作用域是整个类
	public void m(){
	int a = 10;		//这个a是局部变量,作用域是整个方法
	System.out.println(a);		//输出10
	}
	System.out.println(a);		//输出2
}
变量的初始化
public class T{
	int a = 10;
	int b = 9;
	T(){
		a = 67;
		b = 98;
	}
	{a = 5;
	b = 7;}
}

可以看到这个类总共有两个成员变量。当我new一个对象的时候

T t = new T();
  1. 首先在内存中开辟一块空间,放a和b,先给他们默认值(a = 0,b = 0 )
  2. 然后赋初始值,a=10,b=9
  3. 执行非静态代码块,a=5,b=7
  4. 执行构造器, a=67,b=98

(2)常量(final)

常量就是不可以改变值的量,放了水就永远都是水
public static final

定义一个常量
final 数据类型 常量名 =  常量值;
final String job = "教师";

如果试图重新赋值,程序会报错。

(3)标识符

当我们要定义一个变量或者常量……等的时候,不可避免的就要给这些量取名,不同的语言取名有不同的规范。java大概有一下规范

  1. 标识符只能由字母(大小写)、数字、下划线(_)、美元符号($)组合而成
  2. 不能由数字开头
  3. 类名、接口名必须首字母大写,驼峰原则
  4. 常量:全部大写
  5. 包名:全部小写
  6. 变量名,方法名,对象名:首字母小写,驼峰原则、

(5)包

相当于文件夹

(6)类

(7)类的访问权限

public

公开的,所有的类都可以访问被public修饰的成员

default
protected
private

只有本类可以访问被private修饰的成员,连本类的子类都不能访问被private修饰的成员

(8)类的其他修饰符

static

static又被称为类修饰符。被修饰的属性,方法被称为类成员。

static的优点

我们之前的成员属性,成员方法是如何才能调用的,都要先创建一个类的对象,通过对象去调用他才行。有时候会觉得这种操作十分麻烦。
如果一个成员或者方法被static修饰他以后,我们就可以不用创建对象就调用他了。我们通过类名调用他。
在jdk中,如果我们想使用圆周率

System.out.println(Math.PI);

这其实是调用了Math类的一个类变量PI
同理,静态成员方法也是如此。

被static修饰后的区别
  1. 一个属性被static修饰后就是类成员属性,她的作用域是全局的。这个变量不再单独属于某个对象了,他属于整个类,如果有一个对象改变了该变量的值,那么其他对象的这个变量的值也会随着改变。
  2. 创建对象时,
abstract
final

当一个类不可能有子类的时候,将他标识为final类,用来实现固定的功能。

  1. 被final修饰的类不能被继承。(绝代了)
  2. 被final修饰的成员变量其实是个常量,只要经过了一次显式赋值,就不能再被赋值了。
  3. 我们可以在子类中重写父类的方法,但如果这个父类的方法被final修饰了,那么这个方法就不能被重写了。
  4. 由3我们可以推断出,abstract和final不能修饰同一个类,因为abstract要求她的方法一定要被子类实现,但是final却要求他不能有子类,冲突了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值