Final And Static Method?
Feb 7, 2014My teacher has asked me one question that "What is difference between the final method and static method".
View RepliesMy teacher has asked me one question that "What is difference between the final method and static method".
View Replieswhy using the get method(c.get(c.HOUR_OF_DAY)); gives me the correct hour(currently 19) but directly accesing c.HOUR_OF_DAY returns 11 ? It shows In the documentation that HOUR_OF_DAY is public.
import java.util.*;
public class calendar2 {
public static void main(String[] args) {
new calendar2().timer();
}
private void timer() {
Calendar c=Calendar.getInstance();
//c.clear();
System.out.println(c.get(c.HOUR_OF_DAY));
System.out.println(c.HOUR_OF_DAY);
}
}
How can i take run time value for static final variable...my lecturer said first time assignment is possible for declared final variable but in my case it shows compile time error..I'm placing my program below with error message
class Sample
{
static final String cname;
void print() {
System.out.println(cname);
}
public static void main(String args[])
{
cname=args[0];
Sample s=new Sample();
s.print();
}
}
Sample.java:11: cannot assign a value to final variable cname.
cname=args[0];
I'm not really sure I understand the functional difference between a static and final variable/field. Oracle defines Class Variable as:
Class Variables (Static Fields) A class variable is any field declared with the static modifier; this tells the compiler that there is exactly one copy of this variable in existence, regardless of how many times the class has been instantiated. A field defining the number of gears for a particular kind of bicycle could be marked as static since conceptually the same number of gears will apply to all instances. The code static int numGears = 6; would create such a static field. Additionally, the keyword final could be added to indicate that the number of gears will never change.
If static will have the same value regardless of how many times it's used, then why use final (or vice versa)?
I am wondering if there is a way in jave to use enums WITHIN a class (without creating a separate enum class) without using private static final. Something like as folows:
class My Class {
myEnum {ACTIVE, INACTIVE, PENDING};
}
is there something like this available?
This is my code inside the method:
@Post
public static String getDetails(Representation entity) throws Exception {
String customerId = getQuery().getValues("cus_id");
}
I use this code in Restlet Representation. I try to get the value from the Request API. But I am facing the problem as "Cannot make a static reference to the non-static method getQuery() from the type Resource".
From what i understand static methods should be called without creating an instance of the same class . If so why would they return an instance of the same class like in the following : public static Location locateLargest(double[][] a) , the Location class being the same class where the method is defined . I don't understand this , does it mean that every field and every method in the class must be static ? Meaning that you cannot have instances of the class because everything is static . Or it's just a mistake and the class Location cannot have a static method: public static Location locateLargest(double[][] a) ?
View Replies View RelatedI can't figure out what this error message "Cannot make a static reference to the non-static method getEndUserCharge(long, long, long, long) from the type UpdateUserWS" actually means.
The error is coming from:
public void updateDetailsPackage() {
some unrelated code
long zero=0;
double endUserCharge=0;
endUserCharge = UpdateUserWS.getEndUserCharge(long zero, long zero, long zero, long zero); <-------- error is here
[Code] ....
Alright, I have two classes, this one
public class Player {
private String player;
public String getPlayer() {
return player;
}
private int strength;
private int defense;
[Code] .....
However, it says that under Player.getPlayer() that it 'Cannot make a static reference to the non-static method'.
Why I can create an Instance of a class that contains non static variables within the static main method ?
This program runs fine
import java.util.*;
public class Test{
public int j;
public static void main(String[] args) {
Test test1=new Test();
System.out.println(test1.j);
[Code] .....
I'm working on a banking program that is supposed to use 3 classes (Account-base class, CheckingAccount, and SavingsAccount) and several methods to display the banking information (ID, balance after a withdrawal and deposit, and the annual interest rate). This should be a pretty simple program, but I'm getting hung up on one portion of it. I'm getting some compiler errors, all of which deal with non-static variables being called from a static context (I'll also post these errors following the code). Up until the middle of last week, we just declared everything as static, but that's changed and I'm having trouble figuring out when to and when not to use static when declaring my methods, hence the compiler errors.
import java.util.Date;
public class Account {
private int id = 0;
private double balance = 0;
private double annualInterestRate = 0;
private Date dateCreated = new Date();
[Code] ....
Here are the compiler errors I am receiving:
Compilation completed. The following files were not compiled:
6 errors found:
File: C:UsersHiTechRedneckDesktopSummer II 2014Computer Programming PrincipleProgram 5CheckingAccount.java [line: 7]
Error: non-static method getId() cannot be referenced from a static context
[Code] .....
I had a TestColor class which contained methods to change hue, saturation, brightness, red, green, blue of TestColor's instances but also had static methods which take in an additional parameter for an instance of TestColor and returns the affected instance of TestColor. Now instead of having one method for every possible color effect to be applied to an image, how can I have one method that takes in an Image parameter, a static or non-static method reference from TestColor parameter and lastly an intensnity value parameter. This is so that I can make an affectedImage object instance inside the method and a Graphics2D object for drawing to each pixel of the new image, now I have one for loop and one nested for loop for the x and y pixels of width and height of the old image and inside the nested for loop I'd create a TestColor by calling getRGB on the image's pixel. Then I would apply the static or non-static method reference somehow to change the color with the intensnity value and after applying it draw to the new Image with Graphics2D. How to would I parametize a method reference and be able to use it in such way?
View Replies View RelatedOne class having two method one as static n another as non-static, 2 threads are there t1 is accessing the static method and t2 the non-static method is it possible n both are sharing the same object.
I now we have two kinds of lock one is object level lock and another is class level lock
I am trying to compile the following code where the entry point is Main.java but i am getting the following error "Error non-static method add(int[]) cannot be referenced from a static context in Java " ....
If i add the keyword static in add method of A.java it works properly......
Class Main.java code
package com.company;
public class Main {
public int [] a= new int[]{1,2,3};
public static void main(String[] args) {
Main n= new Main();
[Code]...
Both the classes are in same package
class Test
{
static Test ref;
String[] arguments;
public void func(String[] args)
{
ref.arguments = args;
[code]...
This code run perfectly.But the static method is acessing a non static method which was supposed to be not possible.
We know that a non static method can not be directly refrenced from static method but in the example given below there is no such error.Why?
class A
{
private void display()
{
System.out.println("In A");
}
public static void invoke (A x)
{
x.display();
[code]....
In above case a non static method display() is being invoked from static method invoke ()but it is not giving error.why?
1 Can method declared as final be overridden and overloading ?
2 if A is static sub class of B. how to access a method in class A ?
Which is more efficient static block or static method ?
View Replies View RelatedI am using findbugs and PMD as a code analyser. I am keep getting warnings to use local variables and method parameters as final.
I want to know if its a good practice to keep them final or what to do?
Sometime i have a private method which is 1 line longer. Sometime it is annoying to use final.
this code won't compile because selected row must be declared as final because of it being defined outside the window listener. Is their anyway around this? If I make it final the first time that the variable is called it keeps it starting value until the GUI is closed.
butEdit.addActionListener (new ActionListener () {
@Override
public void actionPerformed (java.awt.event.ActionEvent evt) {
int selectedRow = table.getSelectedRow ();
final String [] values = custTableModel.getRowValues (selectedRow);
[code]....
class A
{
public final int Add(int a,int b) {
return a+b;
}
}
class B
{
public static void main (String args[])
{
System.out.println(Model.Add(5,10));
}
}
This is what I have. I'm not sure if this even makes use of a final method. But when I run it I get an error saying cannot find symbol for line 13.
Created a java.sql.connection object. Refering those obj inside public void run() { } If i declare as final inside a method, i can't refer those outside method due to scope. Cannot refer to a non-final variable dbConnObj inside an inner class defined in a different method...
View Replies View RelatedTake this:
class test
{
static int i=j;
static int j=10;
.....
this will give illegal forward reference ....
but this will compile successfully ..
class test
{
static int i=test1();
static test1()
{
return 20;
}
}
.....
plz assume we have main method in both cases ..
java would be loading all static members first and would be assigning default values .. and then will be running all the initializers from to bottom ..Why second case is a compile success and not first .. as in second also test1 method is declared after its usage ..
I want to create a final array with final elements
{code}
final int[] array = {0, 1, 2, 3, 4, 5};
{code}
But here only the reference of the array is final , not it's elements ... So how can I do that??
I'm writing a program that calculates phone charges. I have my class is set up, but when I try to retrieve data from it in my main, eclipse says that I need to set my method to static, which messes up the rest of the program.
Class:
public class MobileCharges {
private double charges;
private int minutes;
private String plan;
[Code].....
can a static method be overridden?
View Replies View Related