学习java入门详解五—关键字

本文深入解析Java中的this、super、static和final关键字,阐述它们的作用、使用场景及限制条件,包括对象引用、属性和方法调用、构造方法调用、修饰变量和方法等方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

this关键字

在Java中this关键字一共有以下的三个作用:

 表示当前类的对象

  1. 表示当前类的对象;
  2. 调用当前类中的属性和方法;
  3. this调用当前类中的构造方法;

public class Teacher {

public void show(){

System.out.println("Teacher---->show()");

}

public void test(){

this.show();//对象.方法名称(参数...);

}

}

调用属性和方法

public void test(){

System.out.println("姓名:"+this.name);

}

this调用构造方法

1、如果一个类中有多个构造方法的话,也可以利用this关键字互相调用。

2、使用this调用构造方法必须也只能放在构造方法的第一行 。

public class Teacher {

private String name="张三";

private String sex="男";

private String code="20150210";

 

public Teacher() {

System.out.println("无参构造方法");

}

public Teacher(String name,String code) {

this.name=name;

this.code=code;

}

public Teacher(String name,String code,String sex){

this(name,code);

this.sex=sex;

}

}

static关键字

 

在使用主方法的时候格式如下:

public static void main(String[] args){}

主方法中有一个关键字static,在使用变量的时候咱们发现变量也要使用static去申明。

1.static可以修饰变量(属性)

在程序中使用static声明属性的话,则此属性称为全局属性(有些也称为静态属性)

 全局属性是存放在”全局数据区”中供这个类的所有对象共享,而且这个属性只能用类名直接调用。

    2.static可以修饰方法

static既可以在声明属性的时候使用,也可以用其来声明方法,用它声明的方法有时也被称为“类方法”。

案例:

public class Person {

public static void show(){

System.out.println("Person--->show()");

}

}

public static void main(String[] args) {

Person per1=new Person("张三", 23,'男');

Person.show();

}

Person--->show()

3.static使用的限制

非static声明的方法可以去调用static声明的属性或方法的。但是static声明的方法是不能调用非static类型声明的属性或方法的。

案例:

public class MyTest {

static int a=12;//静态变量

public static void main(String[] args) {

System.out.println(a);//静态方法访问静态变量

test();

}

public static void test(){

System.out.println("hehe");

}

public void hehe(){

System.out.println(a);//非静态的方法调用静态变量

test();//非静态的方法调用静态方法

}

}

以上的内容就是Java中static关键字的使用方式,static关键字其实就两个功能:修饰属性、修饰方法。Static修饰的属性和方法都是通过类名直接调用的。

super关键字

在之前咱们学习this关键字,它的作用有三个,只不过this关键字主要是操作本类的属性和方法的,super关键字和this关键字的功能非常相似,super关键字主要是用来操作父类中的属性和方法。

1、调用父类的构造方法

super(实参)

2、调用父类中的非私有化的属性和方法

super.方法名()

super.属性名

调用父类中的构造方法:

案例:给四个属性赋值

public Person(String name,int age,String sex){

this.name=name;

this.age=age;

this.sex=sex;

}

//给Student的对象的四个属性赋值的构造方法

public Student(String name,int age,String sex,String code){

//调用父类中的构造方法给属性赋值

super(name,age,sex);

this.code=code;

}

上面的子类调用父类中的构造方法主要是为了给子类中的四个属性通过构造方法进行赋值操作。

案例:调用父类中的属性和方法

public void test(){

super.show();//调用父类中的普通方法

System.out.println("Student--->test()");

System.out.println(super.city);//调用父类中的非私有化的属性

}

Super关键字主要是在设计的子类和父类的时候进行使用,其实在以后的学习中会出现很多的关键字的使用技巧。

​​​​​​​this与super的区别

No.

区别点

this

super

1

属性访问

访问本类中的属性,如果本类没有此属性则从父类中继续查找

访问父类中的属性

2

方法

访问本类中的方法,如果本类中没有此方法,则从父类中继续查找

直接访问父类中的方法

3

调用构造

调用本类构造,必须放在构造方法的首行

调用父类构造,必须放在子类构造方法的首行

4

特殊

表示当前对象

无此概念

​​​​​​​final关键字

final修饰变量

final变量的特征

  1. final修饰符可以修饰变量,被修饰的变量即成为了常量
  2. final类型的变量必须显式地初始化,否则将导致编译错误
  3. final变量只能被赋值一次
  4. 在定义final常量时,一般以大写字母命名,且多个单词之间以“_”符号隔开

案例:

public class MyTest {

public static final String BAIDU_URL="www.baidu.com";

public static void main(String[] args) {

System.out.println(BAIDU_URL);

}

}

final修饰类

1、用final关键词修饰的类是不能被继承的,也称最终类。

2、用final类的原因

        1、对该类的设计永远不需要任何改动

        2、处于安全的考虑

案例:

public final class Person {

}

public class Student extends Person{

}

上面的Person类使用final修饰,那么此类就是一个最总的类(太监类),就是表示此类没有子类了。

final修饰方法

用final关键词修饰的方法不能被子类修改(覆写)。

案例:

public class Person {

public final void show(){

System.out.println("Person---->show()");

}

}

public class Student extends Person{

@Override

public void show() {

System.out.println("Student---->show()");

}

}

Cannot override the final method from  Person

上面父类中的show()方法被final修饰了,出现了上面的错误,意思就是父类中的方法使用final修饰了那么子类就无法在覆写父类中的对应方法了。

 

内容概要:本文介绍了奕斯伟科技集团基于RISC-V架构开发的EAM2011芯片及其应用研究。EAM2011是一款高性能实时控制芯片,支持160MHz主频和AI算法,符合汽车电子AEC-Q100 Grade 2和ASIL-B安全标准。文章详细描述了芯片的关键特性、配套软件开发套件(SDK)和集成开发环境(IDE),以及基于该芯片的ESWINEBP3901开发板的硬件资源和接口配置。文中提供了详细的代码示例,涵盖时钟配置、GPIO控制、ADC采样、CAN通信、PWM输出及RTOS任务创建等功能实现。此外,还介绍了硬件申领流程、技术资料获取渠道及开发建议,帮助开发者高效启动基于EAM2011芯片的开发工作。 适合人群:具备嵌入式系统开发经验的研发人员,特别是对RISC-V架构感兴趣的工程师和技术爱好者。 使用场景及目标:①了解EAM2011芯片的特性和应用场景,如智能汽车、智能家居和工业控制;②掌握基于EAM2011芯片的开发板和芯片的硬件资源和接口配置;③学习如何实现基本的外设驱动,如GPIO、ADC、CAN、PWM等;④通过RTOS任务创建示例,理解多任务处理和实时系统的实现。 其他说明:开发者可以根据实际需求扩展这些基础功能。建议优先掌握《EAM2011参考手册》中的关键外设寄存器配置方法,这对底层驱动开发至关重要。同时,注意硬件申领的时效性和替代方案,确保开发工作的顺利进行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值