Java调用未被Static修饰的本类方法】的更多相关文章

public class Dy { public static void main(String[] args){ int a=6; int b=5; int result=0; Dy dy=new Dy(); //通过类的实例化进行调用 result=dy.Add(a,b); //调用本类方法Add() System.out.println(result); } private int Add(int x,int y){ //定义Add(),该方法没有被static修饰 return x+y;…
一.静态变量 描述: 在类中,使用'static'修饰的成员变量,就是静态变量,反之为非静态变量. 区别: 静态变量属于类的,可以使用类名来访问:非静态变量是属于对象的,必须使用对象来访问. 静态变量对于类而言在内存中只有一个,能被类的所有实例所共享:实例变量对于类的每个实例都有一份,它们之间互不影响. 静态变量在加载类的过程中分配内存,实例变量在创建对象时分配内存,所以静态变量可以使用类名来直接访问,而不需要使用对象来访问. 示例: public class Student { private…
public class Dy { public static void main(String[] args){ int a=6; int b=5; int result=0; result=Add(a,b); //调用本类方法Add() System.out.println(result); } private static int Add(int x,int y){ //定义方法Add(),求两数之和 return x+y; }…
1.类的构造器私有化 2.本类内部创建对象(用本类内部public static静态方法返回该静态对象) 3.创建静态变量指向该类. 饿汉式和懒汉式的差异: 1.创建对象的时机不同!(饿汉模式在使用静态类时创建加载对象:懒汉模式在静态方法时加载创建对象) 2.应用场合不同 如果仅仅考虑效率问题,可以使用懒汉式 如果考虑线程安全问题,可以使用饿汉式(懒汉式容易出现数据错乱问题) /** * 此类用于演示单例设计模式 * 步骤: * 1.构造器私有化 * 2.本类内部创建对象 * 3.提供publi…
Java中占位符的使用 String类的format()方法 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重载形式. format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串. format(Locale locale, String format, Object... arg…
[abstract]抽象的 1. abstract可以修饰类和成员方法,被abstract修饰的类称为抽象类,被abstract修饰成员方法叫抽象方法.抽象类不一定有抽象方法,但拥有抽象方法的类一定是抽象类: 2. 被abstract修饰的类不能直接实例化,需要通过子类实现,所以抽象类一定有子类: 3. 继承抽象类的子类必须要重写抽象类中被abstract修饰的抽象方法,如果不继承就必须要把自己变成抽象的子类. [final]最终的 1. final可以修饰类,成员变量,成员方法,局部变量/形参…
① 格式 : 1> static修饰的,称为静态成员,非static修饰的,称为非静态成员. ② 内存位置: 1>static修饰的,在方法区的静态区中,非static修饰的,在堆中的对象里. ③ 生命周期: 1> static修饰的 ,随着类的加载而加载,随着类的消亡而消亡,非static随着对象的创建而加载,随着对象的消亡而消亡. ④ 调用方式 : 1> static修饰的,通过类名.成员来调用 ,非static修饰的,通过对象.成员来调用.…
可以重写静态方法,但重写后的静态方法不支持多态. 其实static根本就没有重写之说.static方法引用的时候应该用类名来引用,而不是对象.同时static方法不参与继承,所以在继承体系里面也不存在重载的说法. 不能被重写,例子: class A{ public static void a(){ System.out.println("a"); } } class B extends A{ public static void a(){ System.out.println(&quo…
先看一道题 public class HasStatic{ private static int x=100; public static void main(String args[]){ HasStatic hs1=new HasStatic(); hs1.x++; HasStatic hs2=new HasStatic(); hs2.x++; hs1=new HasStatic(); hs1.x++; HasStatic.x--; System.out.println("x="+…
这学期刚开java,因为之前只写过C++和Python没接触过java,有些写法挺不习惯的,今天写完一个程序,run的时候发现提示the selection can't be launched.......查了网上一些资料,虽然不知道具体是不是我以为的这个原因,我main函数没有写static(C++和Python都没这玩意儿),我想我这里应该是这个原因.如果不是这个原因,欢迎指正. 那么我那时候就在想,为什么我不加static就这样了,于是去查了查static的作用: static 是静态的意…
首先我们明确一点:java是一个纯面向对象的编程语言,它的每一个文件都视为一个类,当我们创建一个对象的时候,就是在调用一个文件,那么这个时候,这个文件(类)里的一些东西,它是需要通过对象来使用或访问,还是可以直接通过这个文件(类)来使用或访问,我们就是通过static这一关键字来进行区分. 1.使用static修饰 被static修饰的变量或方法,又叫静态变量,静态方法,可以直接使用类名.调用,并且在初始化该对象时,该变量或方法存在于方法区内存中. 2.不使用static修饰 没有被static…
static 关键字,我们在开发用的还是比较多的.在<Java编程思想>有下面一段话 static 方法就是没有 this 的方法.在 static 方法内部不能调用非静态方法,反过来是可以的.而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用 static 方法.这实际上正是 static 方法的主要用途. static 的用法比较广泛:静态变量.静态成员.静态函数等.我们在使用单列模式的时候,就会用到它.并且 static 数据成员存储在静态存储区,只存储一次,可以节省内存. sta…
java中普通的顶级类是不能使用static关键字修饰的.只有内部类可以使用static修饰,也可以不使用staitc关键字修饰. java中的类可以是static吗?答案是可以.在java中我们可以有静态实例变量.静态方法.静态块.类也可以是静态的. java允许我们在一个类里面定义静态类.比如内部类(nested class).把nested class封闭起来的类叫外部类.在java中,我们不能用static修饰顶级类(top level class).只有内部类可以为static.   …
一.final final是不变的,最终的意思.可以用来修饰变量,方法,类. 1. 修饰变量 private final int a = 2; private final int b; // final 空白,必须在构造函数中指定初始值. // 因为static 的缘故,必须在定义时指定初始值,不能在构造函数中指定初始值. // 因为访问static 变量根本不用调用构造函数啊,笨蛋! private static final int c = 3; 2. 修饰方法 表示该方法不能被子类重写.使用…
1.static修饰的变量和方法,在类加载时即被初始化,可直接通过类名.变量名和类型.方法名进行调用. 2.static修饰的变量,在类加载时会被分配到数据区的方法区.类的实例可共享方法区中的变量.如果static修饰的变量发生改变,那么所有类实例引用的变量都会一起发生改变. 3.static修饰的方法中不能使用this或super,static修饰的方法属于类的方法,而this或super只是对象的方法. 4.static修饰的方法不能引用非static 修饰的变量, 在类加载过程中,当sta…
Java static修饰符 static修饰符是静态修饰符,大家写Java第一次接触static就是主函数中的pubic static void main的声明了. 那么static有什么用?本文来详细说说. static成员与普通成员的区别 static表示全局或静态的意思,用来修饰类的成员变量和成员方法. 我们知道,程序中代码都是在编译的过程中由编译器自动分配的内存,而static类型就指其修饰的变量.方法在编译后就一直存在,直到程序结束才会释放内存.而我们知道Java是纯面向对象语言,万…
static静态修饰符(使用static修饰符修饰的成员变量.常量.和成员方法成为静态变量.常量和方法,他们统称为静态成员,归整个类所有,不依赖于类的特定实例,被类的所有实例共享,只要这个类被加载,JVM就可以根据类名在运行时数据区的方法区找到他们) 静态变量 对于静态变量,运行时,JVM只为静态变量分配一次内存,在加载类的过程中完成静态变量的内存分配.在类的内部,可以在任何方法内直接访问静态变量:在其他类中,可以通过类名访问该类中的静态变量. 静态变量可以被类的所有实例共享,因此静态变量可以作…
当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static.用static修饰的方法可以用类名直接调用,不用的一定要先实例化一个对象然后才可以调用比如 person这个类里面有一个方法public static add(){}那么可以直接用person类调用 person.add();当然也可以用下面的方法先出一个对象在调用也是可以如果这个方法前面没有static 比如 public add(){}那么先要person p=new person();然后用p.add();类加载…
喵喵开车,新手上路,多多关照.有任何错误请在评论区指出. ...........................................我是万恶的分界线( • ̀ω•́ )✧......................................... final:用来修饰类,变量,方法: final修饰的类不能有子类,也不能被继承. final修饰的变量是一个常量,不能重新赋值. final修饰的方法不能重写 现在就说明final修饰的常量① 与 static final 修饰的常…
1. 修饰符 public.protected.private.default abstract.static.final. abstract:抽象类.抽象方法 static:静态变量.静态方法.静态代码块 final修饰类.方法.变量 transient.violatile.native.synchronized 2. 变量 实例变量.局部变量.类变量 1. 修饰符 · public.protected. private.default 类的访问权限   当前类 同包其它类 子孙类 其它包的类…
static(静态.修饰符):static修饰成员变量时:static修饰成员变量时,那么该成员变量的数据就是一个共享的数据. 静态成员变量的访问方式:方式一: 使用对象进行访问. 对象.属性名 方式二:可以使用类名进行访问. 类名.属性名 注意: 1. 非静态成员变量不能类名直接访问,只能使用对象进行访问. 2. 千万不要为了方便访问成员变量而使用static修饰,一定要是该数据是共享数据 时才使用static修饰. static修饰方法(静态的成员方法):访问方式:方式一:可以使用对象进行访…
首先定义方法 public class Dy { public int Add(int x,int y){ //定义Add(),该方法没有被static修饰 return x+y; } public static int Sub(int x,int y){//定义Sub(),该方法被static修饰 return x-y; } } 调用方法 public class Test { public static void main(String[] args){ int a=5; int b=4;…
Java中static修饰类的问题 众所周知,Java中static关键字可以修饰方法与变量: 修饰变量的时候,这个变量属于类变量,可以直接通过类名.变量名来引用. 修饰方法的时候可以直接通过类名.方法名来访问. 但大家可能不知道static关键字还可以修饰类,普通类是不允许声明为静态的,只有内部类才可以. 被static修饰的内部类可以直接作为一个普通类来使用,而不需实例一个外部类(见如下代码) package testStatic; class OuterClass { public sta…
public class StaticTest { static int i ; static int m=30; int j ; int k=25; static{ i=10; System.out.println("static修饰的类属性i值是"+i); } public StaticTest(){ System.out.println("无参构造的i值为"+i); } public static void getNum(){ System.out.print…
一  final关键字 1) 关于final的重要知识点 final关键字可以用于成员变量.本地变量.方法以及类. final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误. 你不能够对final变量再次赋值. 本地变量必须在声明时赋值. 在匿名类中所有变量都必须是final变量. final方法不能被重写. final类不能被继承. final关键字不同于finally关键字,后者用于异常处理. final关键字容易与finalize()方法搞混,后者是在Object类…
出现问题的场景是这样的: 项目中有个专门放流程Key值常量的类FlowConstants.java,其中这些常量都用了final static 修饰.某天因为修改了流程,相应的key值也改变了,所以直接更新了FlowConstants.java中对应的key值. 重新部署为了方便直接将这个常量类编译后的class文件将服务器上的文件替换了,重启服务,运行项目发现流程获取的key值仍然是之前未修改的值,多次替换重启后仍是这样,最后直接将项目重新整体打包发布后才算正常了. 为什么导致这样的显现,参考…
总结 共同点,都可以修饰类,方法,属性.而不同点: static 含义:表示静态或全局,被修饰的属性和方法属于类,可以用类名.静态属性 / 方法名 访问 static 方法:只能被static方法覆盖:方法内部的局部变量,不能用static修饰. static 属性:也就是类的变量,是在类加载时被创建并进行初始化,只会被创建一次.static修饰的变量可以重新赋值. static 代码块:可以修饰.修饰的代码块表示静态代码块.当JVM加载类时,就会执行该代码块,只会被执行一次 互斥关键字:sta…
一.final根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. final类不能被继承,没有子类,final类中的方法默认是final的. final方法不能被子类的方法覆盖,但可以被继承. final成员变量表示常量,只能被赋值一次,赋值后值不再改变. final不能用于修饰构造方法. 注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方…
转自:http://lavasoft.blog.51cto.com/62575/18771/   Java关键字final.static使用总结   一.final        根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率.         final类不能被继承,没有子类,final类中的方法默认是final的.        final方法不能被子类的方法覆盖,但…
Java调用第三方dll文件的使用方法 public class OtherAdapter { static { //System.loadLibrary("Connector");//载入需要调用的dll Connector.dll System.load("d://Connector.dll");//载入dll Connector.dll } //用native关键字修饰将被其它语言实现的方法 //dll文件中对应的函数声明 public native stat…