Overriding In Java - Foo Method Of Class X Is Not Throwing Compile Error
Jul 29, 2013
class SubB{
public void foo(){
System.out.println(" x");
}
}
public class X extends SubB {
public void foo() throws RuntimeException{
super.foo();
if(true) throw new RuntimeException();
System.out.println(" B");
}
public static void main(String [] args){
new X().foo();
}
}
Why the foo method of class X is not throwing a compile error because according to the override rule, if the superclass method has not declared exception, the subclass method can't declare a new exception...
I am attempting to override the equals method from the Object class which checks if two variables point towards the same object. I want the method to check if if the argument being passed in(an object) has the same data(instance variables) as the object that's calling this method. A NullPointerException is being thrown; Here is the code.
Exception in thread "main" java.lang.NullPointerException at javaapplication5.Product.equals(Product.java:42) at javaapplication5.Product.main(Product.java:24) Java Result: 1
How do i print override the toString for WebBrowser as i would like to print out the object bc. Tested the program and it is fine if i put it in the main method rather than the WebBrowser constructor.
import java.util.*; class ListNode <E> { /* data attributes */ private E element; private ListNode <E> next; /* constructors */ public ListNode(E item) { this(item, null);
I have two classes (Daughter and Son) that contain some very similar method definitions:
public class Family { public static void main(String[] args) { Daughter d = new Daughter(); Son s = new Son(); d.speak(); s.speak();
[Code] .....
Each of those classes has a "speak" method with two out of three lines being identical. I could move those into a parent class, but I need each of the child classes to continue to exhibit its unique behavior. I'm trying the approach below, which replaces the unique code with a call to a "placeholder" method that must be implemented by each child class:
public class Family { public static void main(String[] args) { Daughter d = new Daughter(); Son s = new Son();
[Code] .....
This works and moves the shared code from two places (the Daughter and Son classes) into one place (the new Mother class, which is now a parent class of Daughter and Son). Something about this feels a bit odd to me, though. It's one thing for a child class to override a parent class's methods to extend or alter their behavior. But, here, I've implemented an abstract method in the parent class to alter what happens when the parent class's method (speak(), in this case) is called, without overriding that parent class method itself.
class One { public static void doStuff() { System.out.println("One"); } }
class Two extends One
[code]....
My understanding of static says that static methods cannot be overrriden but the compilation of the above code results in Overriding rule violation error.
For a few days I've been reading about the importance of overriding the equals method. How overriding it actually determines or checks the values stored in the variable. I realize that you can check the values stored in the primitive datatypes with "==", and when you don't override the equals method it acts the same way, right? When used with a reference datatype, "==" or the default equals() method only compares, or sees, if the variable is pointing to the same instance of a class. For some reason, in the examples, what is taking place to actually check the values stored inside the variables.
Here is part of an example (I've added comments for things that are confusing me):
@Override public boolean equals(Object obj) { //So we use Object here instead of the class type // we're overriding this equals method for? Is this so that we can use it to check different types? (overloading?) if (obj == this) { return true;
//Isn't this checking to see if the calling object is the same as the object we're passing to it? Why doesn't this return false? } if (obj == null || obj.getClass() != this.getClass()) { return false; }
//How exactly do we check the values stored in each object though? }
I have a enum class which contains some string which i am comparing to a string i get from a user
Java Code:
public enum Compare { a, b, c, d, e, f } class SomeClass { String method(String letter){ Compare word= Compare.valueOf(letter); } } mh_sh_highlight_all('java');
Everything works fine but when I added a new word to it like "g" it throws the IllegalArgumentException ?
programming altogether and after almost reaching half way in the 'Head first java' book I decided to try and apply some of what I've learnt so far and write my first 'Object orientated' program. As this is pretty much the first program I've ever written, I decided to write a program to ask for two integers and add them both together and then present them to the user (the goal eventually being a basic fully working command line calculator with +,-,* and /. I'm expecting many compile errors but not the following errors below.
I have three .java files contained within a folder and after trying to figure out how to compile all three files (as they use one another) all at once, I came across this ---> javac *.java
so I typed this in the command line whilst in the directory containing the three files assuming *.java is the best approach and then I receive the following errors:
inputOutput.java:10: error: cannot find symb c.addition() = intIn.nextInteger(); ^ symbol: variable c location: class inputOutput
I'm writing basically my first program for school. I've written small ones, following instructions, but this is the most vague. I'm having issues. I can't figure out what the error means. I'm not done with the code, but I think the ArrayList is throwing me off. I'm trying to gather user input and sum the total. Here's the code:
package graduationplanner; import java.util.ArrayList; import java.util.Scanner; import java.lang.Double; public class GraduationPlanner { public static void main(String[] args) {
I keep getting the error Admit.java:10 cannot find symbol
import java.util.*; public class Admit { public static void main(String[] args) { sayIntro(); Scanner console = new Scanner(System.in); System.out.println("Information for applicant #1:"); getScore(console); getGPA(console);
[Code] ....
The compiler then reads:
Admit.java:10: error: cannot find symbol score1(ACTScore, SATScore, GPAScore); ^ symbol: variable ACTScore location: class Admit Admit.java:10: error: cannot find symbol
I have a msg object that contains an ArrayList<Integer> collection. However, in order to send the elements in the array over the udp socket, it needs to be sent as a byte[] array. So why am I using ArrayList<Integer> over byte array in first place? Well when I receive data from socket from embedded c program, I need to get an unsigned representation of the data, and thus I need to store it in integers, since bytes in Java are unsigned and unsigned chars in c that are greater than 127 will yield incorrect values in java. But when I send an ack back over the socket, I need to send the data back as bytes. So I convert the ArrayList<Integer> to a byte array:
Java Code: byte[] data = msg.toByteArray(); DatagramPacket response = new DatagramPacket(data, data.length, packet.getAddress(), packet.getPort()); public class Gprs { ... public byte[] toByteArray(){
[Code] ....
The problem is I get an "Cannot cast from Integer to byte" when trying to cast the integer to byte: data[i] = (byte)m_data.get(i);
This is likely a simple matter, but my error is confusing given the line it flags matches a working project I have. I get the following error on line 6 in the Controller:
cannot find symbol v.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ...........................................^ (carrot at the J)
My view file:
import java.awt.*; import javax.swing.*; import java.awt.event.*; public class View extends JFrame{ private JLabel lbl; private JButton btn;
This method accepts 1 integer, amount (the amount of money). Output the minimum number of in quarters, dimes, nickels and pennies used to make up the amount. For example, an amount of 32 would require 1 quarter, 1 nickel and 2 pennies.
This is the question^
My codes are:
public static int change (int amount) { int quarters = amount / 25 ; int firstresult = amount % 25 ; return quarters ; int nickel = firstresult / 5 ;
[Code] .....
The codes were working when i used System.out.println instead of return, but our teacher required us to use return (functions).
Netbeans do not detect any syntax errors, but I when I check the build it retuned areas they were a few; It's a simple program name 5 people, gade them then do final calulatoins it's called "grade tool.
heres the code
package gradingapplication; import java.util.Scanner; public class GradingApplication { public static double score(double score){ if(score >= 90){ System.out.println("A");
[code]...
~Problems~
1. It has no gui, I don't know java fx, is java groove used? awt is useful for creating spam bots in robot class, I know it's not very useful but it's so much fun.
I have a code in which I am reading input from System.in and Destination is some where else
Here is my code
File file=new File("D:/output.txt"); OutputStream os=new java.io.FileOutputStream(file); Scanner scanner=new Scanner(System.in); System.out.println("Enter Data to write on File"); String text=scanner.nextLine(); int c=Integer.parseInt(text); int a; while((a=c.read())!=-1) os.write(a); System.out.println("File Written is Successful");
In the line while((a=c.read())!=-1)
a compile time error is shown "cannot invoke read on primitive data type int"
I have a JSP page that calls a Java method .. using GlassFish 4.0 it worked just fine, now I'm trying to run it on a new server with Tomcat 6.0 but it keeps giving me this error: "the function result must be used with a prefix when a default namespace is not specified"
i am trying to work through the Murach's Java Servlets and JSP book. I am stuck however. I keep getting a HTTP Status 500 - Unable to compile class for JSP.
I am using Eclipse Kepler, JDK 1.7, and Tomcat v7.0 server.
Its a fairly simple program that takes in user information, first name, last name, and an email and processes the information, saving the data to a text file.
------------------------------------------------ I have two Java classes: User and UserIO -------------------------------------------------
//User.java package business; public class User { private String firstName; private String lastName; private String emailAddress; public User(String firstName, String lastName, String emailAddress){