`
心若吾心
  • 浏览: 19036 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

关键字小谈

阅读更多
Java常用关键字总结
在java中除了跟c语言中共有的一些关键字外,还有一些其他的,c语言中没有的关键字。比如public,protected,private,static,final,super,this等。其中public,protected,private属于可见性修饰关键字。所谓的可见性就是一个访问权限的问题,被可见性修饰关键字修饰的类,属性,方法等,根据关键字的不同,其他类的对象对其的访问权限也不同。
首先,我们来讲讲public关键字。它字面上的意思即是“公共的”的意思,它是公开性最高的一个关键字,它可以用来修饰一个类,这时,这个由public修饰的类可以被其他包中的类的对象访问。它也可以用来修饰方法,此时,这个被修饰的方法可以被其他包中的类调用。它还可以用来修饰属性,此时可以通过对象.属性的方式来访问该属性。
注意:子类在继承父类时,父类的方法是public修饰的,则在重写该方法时不能缩小其可见性。
然后是protected关键字。它的公开性次于public。它修饰的方法只能在同一个包里面可以访问,子类也可以继承。但是由于不能被其他包的类和对象访问,这个关键字比较少用。
最后是private关键字。它是可见性范围最小的限定符,只能在同一个类中进行访问调用。一般类中的属性都是由private修饰的,再由public的方法来对其进行调用。如果其他类想要调用该属性则可以通过该public的方法就行了。用private修饰属性有利于程序的封装;子类不能继承父类中用private修饰的方法。

示例:
先创建一个Animal类
package 关键字;

/**
* 动物类
*
* @author Administrator
*
*/
public class Animal {
// 定义private属性name
private String name;
public String color;

public void eat(){
System.out.println("吃东西");
}
private void say(){
System.out.println("说话");

}
public void showColor(){
System.out.println("颜色是"+color);

}
}

创建一个Cat类,继承Aniamal类,重写其中的eat方法
package 关键字;
/**
* 创建一个Cat类继承Animal类
* @author Administrator
*
*/
public class Cat extends Animal{
/**
* 重写父类的eat方法
*/
public void eat(){
System.out.println("猫吃鱼");
}


}
创建一个主类,运行程序
package 关键字;
/**
* 创建一个主类
* @author Administrator
*
*/
public class MainTest {
public static void main(String[] args) {
//创建一个Animal的对象
Animal a=new Animal();
//调用eat方法
a.eat();
//如果调用say方法则会报错
//a.say();
//对Animal对象设置color
a.color="red";
//对Animal对象调用showColor方法
a.showColor();
//创建Cat的对象
Cat c=new Cat();
//对Cat对象调用eat和showColor方法,但不能调用say方法
c.color="white";
c.eat();
c.showColor();
}
}



其他关键字:
1、 this关键字
this指的是本类目前正在被操作的一个对象,就是在本类中如果要访问或初始化本类的属性,或者调用本类中的方法。不用构造一个对象,this就可以代替这个将要被使用的对象。This还可以在构造方法中调用本类的某一个构造方法。
示例:
package 关键字;

/**
* 创建一个Student类
*
* @author Administrator
*
*/
public class Student {
// 属性
private String name;
private int number;

// 无参构造方法
public Student() {
System.out.println("父类的无参构造方法");
}

// 带name参数的构造方法
public Student(String name) {
// 用this();调用本类的带name和number参数的构造方法
this(name, 0);
System.out.println("姓名"+name);
}

// 带name和number参数的构造方法
public Student(String name, int number) {
// this用作本类当前在操作的一个对象,引用参数赋值
this.name = name;
this.number = number;
System.out.println("姓名"+name+"学号"+number);
}
public void study(){
System.out.println("学习中");
}

}创建一个主类:然后运行程序
package 关键字;

/**
* 主类,用于测试程序
*
* @author Administrator
*
*/
public class MainTest {
public static void main(String[] args) {
String s="Anny";
Student stu1 = new Student();
Student stu3 = new Student(s,80);
}
}

2、 super关键字
this指的是当前本类的对象,而super指的是当前类的父类对象。即super可以调用父类的方法。还可以在子类构造方法中调用父类的构造方法,写作super();(该写法为调用无参构造方法),但是它只能写在子类构造方法中的第一行,也就意味着只能使用一次。
示例:
创建学生类
public class Student {
// 属性
private String name;
private int number;

// 无参构造方法
public Student() {
System.out.println("父类的无参构造方法");
}

// 带name参数的构造方法
public Student(String name) {
// 用this();调用本类的带name和number参数的构造方法
this.name=name;
System.out.println("姓名"+name);
}

public void study(){
System.out.println("学习中");
}
}

创建学生类子类
package 关键字;
/**
* 创建一个UNStudent类,继承Student类
* @author Administrator
*
*/
public class UNStudent extends Student{
//在子类中调用父类的构造方法
public UNStudent(){
super();
}
}

创建主类
package 关键字;

/**
* 主类,用于测试程序
*
* @author Administrator
*
*/
public class MainTest {
public static void main(String[] args) {
UNStudent us=new UNStudent();
}
}

3、 final关键字
final的字面意思是“最终的”,也就是不可改变的。如果用它来修饰属性,也就代表这个属性是常量,不可以被修改。如果用来修饰方法,子类 在继承父类该方法时不能重写该方法,只能进行调用。它还可以用来修饰类,这样的类不能被继承。
4、 static关键字
static可以用来修饰类,方法,属性和代码段。由它修饰的都是静态的。当用于修饰类的时候,不能用于修饰普通类,只能用于内部类。

当static用来修饰方法的时候,称为静态方法。它与非静态方法的区别就是,静态方法在调用时不需要创建对象来调用。直接以类名.方法名就可以调用了。它在类刚刚被加载的时候就执行了。
示例:
Student类
package 关键字;

/**
* 创建一个Student类
*
* @author Administrator
*
*/
public class Student {
// 属性
private String name;
private int number;

// 无参构造方法
public Student() {

}

public static void study(){
System.out.println("学习中");
}
public void play(){
System.out.println("玩耍");
}

}
主类
package 关键字;

/**
* 主类,用于测试程序
*
* @author Administrator
*
*/
public class MainTest {
public static void main(String[] args) {
//调用静态方法,不用创建对象
Student.study();
//调用非静态方法,需要创建对象
Student st=new Student();
st.play();
}
}


当static用来修饰属性的时候,称为类属性。它与静态方法一样不用创建对象来调用,而是直接调用。还有,类中的某一个对象的static属性值被该表后,这个类的所有对象的static属性的值都会变。在static方法中可以直接调用static修饰的属性,但是如果要调用其他修饰符修饰的属性,就要创建对象。
示例:
Student类
package 关键字;

/**
* 创建一个Student类
*
* @author Administrator
*
*/
public class Student {
// 属性
private static String name;
private int number;

// 无参构造方法
public Student() {

}
public void setName(String name){
this.name=name;
}
public  void study(){
System.out.println(name+"学习中");
}
public void play(){
System.out.println(name+"玩耍");
}
}
主类
package 关键字;

/**
* 主类,用于测试程序
*
* @author Administrator
*
*/
public class MainTest {
public static void main(String[] args) {
//调用静态方法,不用创建对象
Student st1 =new Student();
//调用非静态方法,需要创建对象
Student st2=new Student();
st1.setName("小红");
st2.setName("小明");
st1.study();
st1.study();
}
}


当static用来修饰代码段的时候,它在类刚刚被加载的时候就执行了。它的执行顺序是在main函数之前的。可以测试一下以下程序
示例:
package 关键字;

/**
* 主类,用于测试程序
*
* @author Administrator
*
*/
public class MainTest {
public static void main(String[] args) {
System.out.println("main函数执行");
}
static{
System.out.println("静态代码段执行");
}
}
输出结果是“静态代码段执行” “main函数执行”。[/align][/align]
0
1
分享到:
评论

相关推荐

    范崇蔚谈互联网seo网站优化之竞价排名关键字营销.pptx

    《范崇蔚谈互联网SEO网站优化之竞价排名关键字营销》 在互联网时代,搜索引擎优化(SEO)和竞价排名成为企业网络营销的重要策略。这份由范崇蔚讲述的PPT重点探讨了如何利用关键字进行有效的营销,以提升网站在搜索...

    谈互联网seo网站优化之竞价排名关键字营销.pptx

    谈互联网seo网站优化之竞价排名关键字营销.pptx

    浅谈C++中的几个关键字static,const,inline.doc

    "C++中的static、const、inline关键字详解" C++ 中的 static 关键字是一种非常重要的修饰符,它可以控制变量的存储方式和可见性。静态变量的两大作用是控制存储方式和控制可见性。控制存储方式是指将变量存储在程序...

    2022年市场-谈互联网seo网站优化之竞价排名关键字营销.pptx

    标题和描述中提到的核心知识点是互联网SEO(搜索引擎优化)中的竞价排名关键字营销。这是一种网络广告策略,通过竞标关键词来决定广告在搜索引擎结果页上的排名。以下是对这一主题的详细阐述: 1. **关键字广告**:...

    浅谈PHPANALYSIS提取关键字

    1. PHPANALYSIS关键字提取的基本概念: PHPANALYSIS是PHP中一个用于中文分词处理和关键字提取的工具,它通过内置的词库对中文文本进行分词,并提取文章中的关键信息。开发者可以利用它来实现文本内容的关键字提取,...

    c#中var关键字用法浅谈

    C# 中 var 关键字用法浅谈 在 C# 3.5 中引入了 var 关键字,也称为推断类型(Type Inference),它允许开发者在定义局部变量时不需要明确指定变量的类型,而是由编译器根据初始化语句右侧的表达式来推断变量的类型...

    浅谈Java编程中的synthetic关键字

    浅谈Java编程中的synthetic关键字 synthetic关键字是Java编程中的一种特殊关键字,用于标记Java虚拟机(JVM)生成的类成员,而不是在源代码中显式定义的。这些类成员包括字段和方法,它们是JVM为了实现某些语言特性...

    C 语言restrict 关键字的使用浅谈

    `restrict`关键字是C语言中的一个类型修饰符,首次出现在C99标准中,其主要目的是帮助编译器进行更有效的代码优化。这个关键字用于指针声明,以表明通过该指针访问的内存区域不会通过其他指针同时访问,即指针是访问...

    Java中final关键字详解

    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。 主要介绍:一.final关键字的基本...

    PPK 谈 JavaScript 的 this 关键字 [翻译]

    下面先讲如何在event handling(事件处理)中用它,再接着是讲 this 的其他用法。 自己本身 先来看看函数 doSomething() 里的 this 到底是指向(refer to)了什么?function doSomething() { this.style.color = ‘#cc...

    浅谈Java中的final关键字与C#中的const, readonly关键字

    本文将深入探讨Java中的`final`关键字以及C#中的`const`和`readonly`关键字,了解它们如何分别实现编译时常量和运行时不可变性。 ### Java中的`final`关键字 #### 1. 编译器常量 在Java中,`final`关键字可以用来...

    浅谈C++中的mutable和volatile关键字

    本文将深入探讨这两个关键字的功能和使用场景。 首先,我们来看`mutable`关键字。`mutable`的主要作用是允许在const成员函数中修改对象的某些数据成员。在C++中,const成员函数承诺不改变对象的状态,但是有时候...

    SEO知识之浅谈关键字在网页中的表现与分布1.pdf

    【SEO知识之浅谈关键字在网页中的表现与分布】 关键词在网页优化中起着至关重要的作用,它们是搜索引擎理解网页内容的关键。通过合理地在网页中融入和分布关键词,可以提高网页在搜索结果中的排名,进而提升网站的...

    浅谈C/C++中的static与extern关键字的使用详解

    在C/C++编程语言中,`static`和`extern`关键字扮演着至关重要的角色,它们影响着变量和函数的存储、生命周期以及作用域。下面将详细阐述这两个关键字的使用和意义。 首先,我们来看`static`关键字。在C语言中,`...

    浅谈Java中static关键字的作用

    Java 中 static 关键字的作用 Java 中的 static 关键字是一个非常重要的概念,它有多种用途,本文将详细介绍 static 关键字在 Java 中的作用。 成员变量 在 Java 中,static 关键字可以修饰成员变量。静态变量...

    深入C++中inline关键字的使用

    一、在C&C++中 一、inline 关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。 表达式形式的宏定义一例: #define ExpressionName(Var1,Var2) ((Var1)+(Var2))*((Var1)-(Var2))为...

    谈Java static关键字的用法与好处

    Java中的`static`关键字是Java语言的一个重要特性,它用于定义类级别的成员,包括变量、方法和代码块。下面我们将详细探讨`static`关键字的用法及其带来的好处。 1. **静态变量(Static Variables)** - 静态变量...

Global site tag (gtag.js) - Google Analytics