- 浏览: 344795 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (249)
- 无废话ExtJs 系列教程 (26)
- jQuery (6)
- 钦波工作后的生活 (5)
- 工作/生活闲谈 (16)
- java基础知识 (44)
- java web (14)
- Struts (1)
- hibernate (8)
- Jpa (0)
- spring (1)
- ajax (3)
- java项目 (4)
- database (5)
- java 流行框架 (5)
- 异常处理 (4)
- 无废话Android系统教程 (6)
- 开发IDE (1)
- 亲自答过的java笔试题 (2)
- oa项目 (4)
- [ 民政局3.0系统 ]--知识点总结分析--与具体项目无关 (0)
- [ 黑龙江低保系统 ]--知识点总结分析--与具体项目无关 (2)
- 工作笔试 (1)
- xml (1)
- telecom项目分析 (13)
- swing (0)
- String运用 (2)
- css (1)
- 页面 (1)
- Html5 (2)
- oracle (4)
- 网站 (1)
- django (1)
- python (4)
- 民航数据中心遇到与解决的问题 (1)
- 平时关注的技术或特效 (1)
- Linux 命令 (2)
- 服务器监控工具 (1)
最新评论
-
wwytwen123:
[*]
java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波) -
junying280efun:
yingtao.huang@gmail.com仁兄,麻烦你给我 ...
jBPM Web Designer(jBPM Web 设计器、jBPM 流程设计器、工作流程设计器) -
mobeicanglang:
我觉得楼主的例子全部都有错误,题目明明说的是try{}语句中有 ...
try return finally -
ashy1q:
楼主最后那段代码重复了,写了两遍。知识很详细,很基础,学习了。 ...
java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波) -
185552143:
你好!
为什么我这样写p${m.id},会报错的?
能我帮我解 ...
Session问题
例1: supper不用在static 方法是可用的:
super关键字用法详解:
子类可以继承父类当中的非私有成员变量和成员方法(不是以private关键字修饰的)作为自己的成员变量和成员方法,但是,如果子类中声明的成员变量与父类的成员变量同名,则子类不能继承父类当中的成员变量。如果子类中声明的成员方法与父类的成员方法同名,并且方法的返回值及参数个数与类型也相同,则子类不能继承父类的成员方法,此时称子类的成员方法覆盖了父类的成员方法。这时,如果想在子类中访问父类中被子类隐藏的成员方法或变量时,就可以使用super关键字。
super关键字主要有以下两种用途:
1. 调用父类的构造方法:子类可以调用由父类声明的构造方法,但是必须在子类的构造方法中使用super关键字类调用。其具体的语法格式如下:super([参数列表])。
class Student{
String name;
int number;
public Student(String name,int number){
this.name=name;
this.number=number;
System.out.println("I’m "+name+" and my number is "+number);
}
}
class Univer_Student extends Student{
boolean b;
Univer_Student(String name,int number,boolean b){
// 用super()关键字调用父类中的构造方法
// 如果是用不带参数的super()则调用父类中默认的构造方法
// 注意:如果调用的是不带参数的构造方法,在父类当中没有不带参数的构造方法则会报错
super(name,number);
this.b=b;
System.out.println("婚否:"+b);
}
}
public class Super1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Univer_Student zhang=new Univer_Student("zhang",987,false);
}
}
运行结果为:
I’m zhang and my number is 987
婚否:false
注意事项:如果子类的构造方法中没有显示地使用super关键字调用父类的某个构造方法,那么默认地有:super()语句,即调用父类中不带参数的构造方法。如果父类没有提供不带参数的构造方法,就会出现错误。
2. 操作被隐藏的成员变量和被覆盖的成员方法:如果想在子类中操作父类中被隐藏的成员变量和被覆盖的成员方法,也可以使用super关键字,具体格式如下:super.成员变量;super.成员方法([成员方法])。
class Sum{
int n;
float f(){
float sum=0;
for(int i=1;i<=n;i++){
sum=sum+i;
}
return sum;
}
}
class Average extends Sum{
int n;
float f(){
float c;
super.n=n;//调用父类中的成员变量
c=super.f();//调用父类中的成员方法并赋给局部变量c
return c/n;
}
float g(){
float c;
c=super.f();//调用父类中的成员方法并赋给局部变量c
return c/2;
}
}
public class Super2 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Average aver=new Average();
aver.n=100;
float result_1=aver.f();
float result_2=aver.g();
System.out.println("result_1="+result_1);
System.out.println("result_2="+result_2);
}
}
运行结果为:
result_1=50.5
result_2=2525.0
例2:supper用在static 方法中报错:
package test;
public class TestInterface extends String1{
public int i = 6;
public static final int a = 2;
public static final int b = 3;
static int bb;
public TestInterface(){
super();
}
public static void main(String args[]){
System.err.println(a);
System.err.println(super.i); //这里会报错,翻译过来就是 supper不允许放到static 方法下面
}
public void i(){
bb= super.i;
System.err.println(super.i); //这里不报错,这里是允许的
}
}
class String1 {
public int i =11;
public void test(){
System.err.println("回钦波,你好");
}
}
发表评论
-
JAVA正则表达式经典实例教程[huiqinbo]
2012-03-22 14:38 1807归纳者 : huiqinboaddress : bei ... -
Java多线程同步Synchronized使用并详细分析与实例 【huiqinbo转于网络并总结】
2012-03-09 13:55 3088一.Synchronized基本知识: 在 ... -
今天闲谈下最近写的正则表达式方法,对初学者来说绝对实用【回钦波】
2012-02-03 18:38 873////////////////// test1 ... -
获得到当前方法及类的名字Thread.currentThread().getStackTrace()[0].getClassName();
2011-09-26 13:22 2232获得到当前方法及类的名字: Thread.curren ... -
BufferedReader和BufferedOutputStream之间的灵活应用【回钦波】
2011-09-16 17:44 1070package log; import java.io.Bu ... -
获取c盘下的用户地址System.getProperty("user.home")
2011-09-15 17:09 1144System.getProperty("user.h ... -
为java.util.logging自定义文件处理器及日志输出格式
2011-09-15 17:05 1796为java.util.logging自定义文件处理器及日志输 ... -
jdk log自定义配置文件【回钦波写于20110915】
2011-09-15 17:00 1197import java.io.IOException; ... -
获得本类(java文件)的路径【huiqinbo】this.getClass().getResource("/").getPath()
2011-09-14 15:29 1353package com.huiqinbo; imp ... -
java中ArrayList 、LinkList区别【huiqinbo】
2011-09-08 11:42 1238java中ArrayList 、LinkList、List区 ... -
jdk的logging实例入门学习
2011-09-07 16:40 1007jdk的logging实例入门学习 分类: JDK 2 ... -
关于数组new 与不new 的问题
2011-08-30 15:05 862public class Test { String c ... -
Eclipse快捷键大全(huiqinbo)
2011-08-30 11:12 772Ctrl+1 快速修复(最经典 ... -
oracle数据库左右内外连接 【回钦波详解】
2011-08-29 15:00 1194oracle数据库左右内外连 ... -
@SuppressWarnings("**")是什么意思【回钦波详细解答】
2011-08-10 10:55 1006很多网友问我(回钦 ... -
很好用的Java反编译软件【回钦波】
2011-04-29 16:49 1070有Windows,Linux和Mac OS三个版本可 ... -
JAVA进制等移位运算[参考于回钦波文库]
2010-12-20 14:33 1051JAVA移位运算符 文章分类:Java编程 作者:回钦波 ... -
java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波)
2010-11-05 13:16 2994java类中静态域、块,非 ... -
线程的状态
2010-11-02 09:50 1015学习线程《五》——线程的状态 文章分类:Java编程 ja ... -
ArrayList,Vector, LinkedList的存储性能和特性
2010-11-01 13:05 1063ArrayList,Vector, LinkedList的存储 ...
相关推荐
静态方法(static method)是一种特殊的方法,它可以在不需要创建对象的情况下被调用。Java 中的静态方法使用 static 关键字来修饰,例如 public static void main(String[] args)。静态方法通常用于提供一些实用...
在Java编程语言中,`static`、`this`、`super`和`final`是四个非常重要的关键字,它们各自有着特定的用途和含义。 1. **static**: 静态关键字`static`用于声明类级别的变量和方法,即静态变量和静态方法。静态变量...
它主要用于在方法内部引用当前对象的属性或方法,或者在构造函数中调用其他构造函数。例如: ```java class MyClass { int x; MyClass(int x) { this.x = x; // 使用 this 引用当前对象的 x 属性 } } ``` ...
### Java中static、this、super、final用法详解 #### 一、static关键字的使用 在Java编程语言中,`static`是一个非常重要的关键字,它主要用于定义类成员(包括变量和方法),使得这些成员能够在不创建类实例的...
Java开发中的`static`, `this`, `super`, 和 `final`是四个非常重要的关键字,它们在编程中扮演着各自独特的角色。接下来我们将深入探讨这些关键字的用法。 1. **static**: - **静态方法**:如示例中所示,`static...
在方法或构造器内部,`this`可以用来区分实例变量和局部变量,或者调用其他构造器。 - 示例中未展示`this`的使用,但通常在创建新对象时,`this`可用于引用当前对象的属性,例如`this.myVariable = someValue;`。 ...
本篇文章将深入探讨`static`的使用方法、原理及其在代码块中的应用。 首先,我们要理解`static`修饰符的基本含义。`static`关键字用于声明类变量(也称为静态变量)和类方法(静态方法)。这些成员是与类本身相关联...
此外,`final`还可以用于方法参数,表示参数在方法内部不能被修改。 理解这些关键字的用法对于编写清晰、可维护的Java代码至关重要。正确使用它们可以帮助我们创建更加模块化和可扩展的程序。在开发过程中,根据...
"Java 中 static、this、super、final 用法详解" Java 中的 static 关键字是用于定义静态变量和静态方法的。静态变量和静态方法是属于类的,而不是属于类的对象的。它们可以被所有类的对象共享。 在 Java 中,...
Java this 和 super 代码实例及使用方法总结 Java 编程语言中,this 和 super 是两个非常重要的关键字,这两个关键字在面向对象编程中扮演着非常重要的角色。下面我们将详细介绍 Java 中 this 和 super 的用法。 ...
### Java中static、this、super、final用途用法及实例 #### 1. Static关键字详解 **Static**关键字是Java中的一个重要概念,主要用于定义类成员(包括方法和变量)为静态成员。静态成员有两个主要特点:一是它们...
此外,`final`还常用于方法参数,表明参数不应该在方法内部被修改,提高代码可读性。 ### 示例 ```java class Parent { protected int value = 0; public Parent(int value) { this.value = value; } public...
Java 中 this 与 super 的用法 Java 中的 this 和 super 是两个非常重要的关键字,它们都是用来访问对象或父类的成员变量或...在上面的代码中,我们使用 this 和 super 关键字来访问当前对象和父类的成员变量或方法。
1. **super(参数)**:此用法用于在子类的构造方法中调用父类的某个特定构造方法。通常情况下,这应该是子类构造方法中的第一条语句。例如: ```java class Parent { public Parent(int x) { System.out.println...
### 如何使用Static的变量和方法 在Java编程语言中,`static`关键字是一个非常重要的概念,用于定义静态成员变量和方法。理解`static`如何工作对于任何Java开发者来说都是必不可少的,尤其是在处理多线程环境、单例...