Declaring Static Int - Illegal Modifier For Parameter
Feb 15, 2014
I accidentally wrote a code differently than what I should've, and I got these errors :
"Illegal modifier for parameter a; only final is permitted"
"Illegal modifier for parameter b; only final is permitted"
"Illegal modifier for parameter c; only final is permitted"
The code that I wrote and gave these errors:
Java Code:
class Math {
public static void main(String[] args) {
static int a = 11;
static int b = 35;
static int c = 29;
//the rest of the code below
[Code] ....
I noticed that I can declare "static int" only under "class Math" and not under "public static void main".(I had to remove "static" if declaring int under "public static void main");
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?
class Course { String courseName; } class Entry { public static void main(String[] args) { Course c = new Course(); c.courseName="java"; System.out.println(c.courseName); } }
I have defined these two classes under same java project in Eclipse IDE with no package. Above two class are having default classes. class Course is also having a instance variable courseName with default access. So when we try to compile the Entry class it will give the errors while accessing the instance variable courseName on Line 6 and 7. As both the classes are having default access modifier. class Course is not visible to class Entry, then why we do not get any compilation error while creating the object of class Course on line 5?
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) ?
I 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
I have question on best practice on declaring variable and using getter. Is there any performance issue if I used getter every time to access the properties values or Is better to use getter once, store in variable then use that variable whenever needed.
a) What is the best practice?
b) Also what if getter in deep level e.g. myTopObj.getInnerOne().getInnerTwo().getProp();
Option 1
Java Code: var myProp = obj.getProp(); x = myProp; y = myProp mh_sh_highlight_all('java'); Option 2 Java Code: x = obj.getProp(); y = obj.getProp(); mh_sh_highlight_all('java');
In most of the GUI examples, it declares the variables right at the start as private.
public class KiloConverterWindow extends JFrame { private JPanel panel; private JLabel messageLabel; private JTextField kiloTextField; private JButton calcButton; private final int WINDOW_WIDTH = 310; private final int WINDOW_HEIGHT = 100;
In one example though, it declares and creates the different objects in the constructor.
public BorderWindow() { setTitle("Border Layout"); setSize(WINDOW_WIDTH, WINDOW_HEIGHT); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new BorderLayout());
JButton button1 = new JButton("North Button"); JButton button2 = new JButton("South Button"); JButton button3 = new JButton("East Button"); JButton button4 = new JButton("West Button"); JButton button5 = new JButton("Center Button");
Now what I assume, is that for the second example snippet, because it's sole purpose is to show you the Border layout, there are no events tied to any buttons, and there is no data, other than the names of the buttons. With the first snippet, it's purpose was to show the kilometer to miles converter using a GUI. The purpose of making it private is to prevent the data from being altered from outside code. If I have the right idea, I feel like they should have continued to keep their examples consistent.
I want to have parameters that I use the "void" for, in other words it doesn't return anything.
class code { void go() { int TestStuff t = new TestStuff(); t.takeTwo(12,34) } void takeTwo (int x, int y) { int z = x + y; System.out.println("Total is:" + z); } }
I am trying to call an actionListener which is shown below in my PSVM :
class testMenuItemListener implements ActionListener { public void actionPerformed(ActionEvent arg0) { getContentPane().removeAll(); createPanel(); getContentPane().add(panel1); //Adding to content pane, not to Frame repaint(); printAll(getGraphics()); //Extort print all content
[Code] .....
I get the following error :
Frame.java:409: error: non-static variable this cannot be referenced from a static context menuItem1.addActionListener(new testMenuItemListener());
I am trying to add a field (called special) to a hibernate table. I am copying existing code (related to the NAME field) so I don't have to figure this out from scratch. I am getting the error
"[ERROR] C:VOXvoxware-1.1.13voxwarevoxware-implsrcmainjavacomvoxwareimplflowVoxFlowConfiguration.java:[213,38] error: non-static variable special cannot be referenced from a static context".
Line 213 is in public void mergeFrom, the actual line is "special = VoxFlowConfiguration.special;" I don't understand why Java thinks special is a "non-static" variable but it doesn't have a problem with the other variables (such as name, orderShow)
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
I am trying to call an actionListener which is shown below in my PSVM :
class testMenuItemListener implements ActionListener { public void actionPerformed(ActionEvent arg0) { getContentPane().removeAll(); createPanel(); getContentPane().add(panel1); //Adding to content pane, not to Frame repaint();
[Code] .....
I get the following error :
Frame.java:409: error: non-static variable this cannot be referenced from a static context menuItem1.addActionListener(new testMenuItemListener());
I am writing the following program in Java SE 7. It throwing "Cannot make a static reference to the non-static type String" . However if I write parameterised String inside main method as java.lang.String[] args, it compiles fine.
class MainClass<String> { <T> MainClass(T t) { System.out.println(t.getClass().getName()); } public static void main(String[] args) { System.out.println("asdasd"); new MainClass<>(""); } }
I mean following programs compile fine in Java SE 7 :
class MainClass<String> { <T> MainClass(T t) { System.out.println(t.getClass().getName()); } public static void main(java.lang.String[] args) { System.out.println("asdasd"); new MainClass<>(""); } }
If i try to make it public void than it say can't call non-static methods inside static(main).if i try to put it into new class and then call it after i fail input it goes into infinite loop.
The error said : Non Static Variable TAShaReport Cannot referenced from a static context
I just want to put the output in the TextArea
Here is the code :
public static String DeduplicateFiles(String myFolderLocation) { try { HashSet<String> newset = new HashSet<>(); File folder = new File(myFolderLocation); //Directory where the files are located File[] listOfFiles = folder.listFiles();
This is a someway special question, because I am using jmonkeyEngine.
But the topic is simple:
I have 2 classes:
public class Spielbrett extends SimpleApplication { public static void main(String[] args) { Spielbrett app = new Spielbrett(); app.start(); } @Override public void simpleInitApp() {
[Code]...
as the main class and a second class for the chips:
public class Spielstein { public Spatial stone; public int player; public int team; private AssetManager assetManager = Spielstein.getAM(); //THIS IS THE PROBLEM public Spielstein(int t_player, int t_team){
[Code]...
My problem is: I can't access getAM() from the first in the second class. If you know why I would be glad for an answer.
One of my friend asked me that which will load first static variable or static block ? My answer was to static variable.. So he gave me two program and said to differentiate between them
1st program
public class Test { public static void main(String args[]) { System.out.println(Test.x); } static { System.out.println(Test.x);
[Code] ....
Output of this :
90 90
I tried to decompile the byte code and found it's same for both the above equation. How to differentiate between them. I am confused when the static variable will initialised.
One 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
package Experimentation; import javax.swing.*; import java.awt.event.*; public class SimpleGUI1B implements ActionListener { JButton button; public static void main(String[] args) { SimpleGUI1B gui = new SimpleGUI1B(); gui.go();
[code]...
This is a program from Head First Java! since main is static it shouldn't be able to call non-static methods because statics do not use any instance variable values but in the above program we're call a non-static method go() how is it possible?