How To Test Default Constructor In Different Class In Java
Nov 5, 2014
How do you test a default constructor in one class and then test it in a different class? This is the code for the Person class which has the default constructor. I'm not sure in the PersonTester class how to access this default constructor and how to test it - what I have so far for the second class is also below.
class Person {
// Data Members
private String name; // The name of this person
private int age; // The age of this person
private char gender; // The gender of this person
The LocalStudent class inherits the Student class. The IDE states an error of "no default constructor in Student class".I understand that if a LocalStudent object is created, the default constructor of its superclass (aka Student class) will be called implicitly.there is no LocalStudent object being created, so why is the default constructor of Student being called ?
The default constructor of LocalStudent is also overloaded by the created no-arg constructor containining subjects = null; . So there is no call to the superclass default constructor from the default constructor of LocalStudent.
public class Student { private char year1; public Student(String name, char year){ year1 = year; } public char getYear(){ return year1;
I am writing a program that accepts input from the user, I want default values displayed before the input values.
Java Code:
public surfboards() { surfboardType = "Type not assigned"; shaperName = "Shaper not assigned"; constructionType = "Construction Type not assigned"; surboardSize = 0D; } mh_sh_highlight_all('java');
I can get the output to display as shown below
(THIS IS WHERE I WANT DEFAULT CONSTRUCTOR DISPLAYED. Currently not displayed)
Type not assigned Shaper not assigned Construction Type not assigned 0 Feet
(THIS IS WHERE I WANT DEFAULT CONSTRUCTOR DISPLAYED. Currently not displayed)
input:
Java Code: Enter Surboard Type: test Enter Shaper Name: test Enter Surfboard Construction Medium: test Enter Surfboard Size: 6.5 mh_sh_highlight_all('java');
I am having trouble with getting output to be what I want. I can get the output when a user enters their values for month, day and time using a scanner object and they print correctly, but what I want is before they input values, to display the current date. Here is a snippet of what I am working with *these are in two separate files, the first has all the variables etc, the second has the main method.
In one java file:
Java Code:
private int numOfGuests, month, day, year; private GregorianCalendar eventDate = new GregorianCalendar(); public Event() { this("not assigned" , 0, new GregorianCalendar()); } public int getDay() {
[Code] ....
This gives me 0-0-0 as a result instead of current date.
I am working on a program that simulates a bug moving along a horizontal line, My code works correctly when I test it in it's own class but when I tried testing my constructor and methods in a test class I received an error saying, "package stinkBug does not exist" on lines with my methods. However, stinkbug is not a package.
Java Code:
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */
I've a parent class with a argument constructor like below(a sample code)
public class Parent { Parent(String name) { System.out.println(name); } public static void main(String[] args) { } }
Also I've child.class which extends Parent.class as shown below,
public class child extends Parent { child(String name) { super(name); } }
Now, I want create/modify the constructor which is in child, by taking "int i" as an input instead of "String name". How can I do that? Run time I want to execute child constructor not a parent constructor.
Condition is: Without making any changes to the Parent class
I have defined a subclass of DefaultMutableTreeNode Class in java :
public AccountsTreeNode extends DefaultMutableTreeNode { }
in this class I have a recursive method called getsorted(ArrayList list_) , which accummulated the list_.
In this method, I have to call this.children() which returns the children of the node, but the children are all of type "DefaultMutableTreeNode". I have to call the method getsorted on these children,but since the getsorted is a mehtod of AccontsTreeNode, it gives me runtime cast error.
Should I convert children to AccountTreeNode type by overriding the children() method?
I have make the immutable class as below, Now my question is how I can test if my this class/object is immutable
package com.learning; import java.util.*; import java.util.Map.Entry; public final class ImmutableTest { private final int id; private final String name; private final HashMap<String, String> hm ;
[Code]...
How I can Test If it is immutable class without looking ?
I had to write a class called Thermometer, that has one instance variable (an integer) for the temperature in Fahrenheit. I had to include the following methods
-a constructor that initializes the temperature to 60
-there is a method to change the temperature
-there is a method to display the temperature
-there is a method to reset the teperature to 60
Here is the code for that.
public class Thermometer { private int temp; private int thermometer; public Thermometer() { thermometer = 60;
[code]....
Now I get to the issue. I have to write a test class called thermometer to test the thermometer class. I need to test each method while displaying the temperature after it. My professor said I should use the invoke method but didn't go into much more detail than that.
User-defined classes. The concept of getters and setters goes right over my head. Right now we're to write a program to test the Person class below. We have to create 2 instances of the class to test each constructor, and test each method.
class Person { // Data Members private String name; // The name of this person private int age; // The age of this person private char gender; // The gender of this person // Default constructor public Person() { this("Not Given", 0, 'U');
[code]....
then my output will print out the name. But the assignment doesn't tell us to modify the Person class at all, just to create a tester one.
I am to create a Array class then create a Driver class (TestArray) to test all the methods in the Array Class. Here's the code i've written for the Array Class. I just nee developing the TestArray class.
import java.util.Scanner; public class Array { Scanner sc = new Scanner(System.in); private double[] array = new double[]; public void setArray(double[] arr) {
How do I use two constructors and I'm having trouble with using char for gender...
Write a program to test the Person class defined below. Your test program should create two instances of the class (each to test a different constructor) and test each of the methods. You are also required to illustrate the error in trying to access private data members from the client class (for clarity temporarily change the private modifier to public and test again). See screenshots below for sample output.
The screen shots are displayed as:
p1 name = Not Given Age = 0 Gender = U p2 name = Jane Doe Age = 0 Gender = F p1 name = John Doe Age = 25 Gender = M
and
PersonTester.jave:20: name has private access in Person System.out.println("p2 name = " + p2.name + "Age = " + p2.age + "Gender = " + p2.gender); PersonTester.jave:20: age has private access in Person System.out.println("p2 name = " + p2.name + "Age = " + p2.age + "Gender = " + p2.gender); PersonTester.jave:20: gender has private access in Person System.out.println("p2 name = " + p2.name + "Age = " + p2.age + "Gender = " + p2.gender);
3 errors
Here is the class given :
class Person { // Data Members private String name; // The name of this person private int age; // The age of this person private char gender; // The gender of this person
I am currently trying to use Junit to test a whole bunch of stuff. I almost have full line coverage but I am getting hung up on testing an if statement that consists of whether or not an object is an instance of another class. This class happens to be an interface, and even the object is an interface. Weird I know but I just want to know how to get into that if statement. I realize testing interfaces might be a waste of time but I still really want to know how. Here is an example of what I am trying to test:
Java Code:
if(x instance of y){ //where x and y are both interface objects doSomething(); } mh_sh_highlight_all('java');
Write a class encapsualting the concept of a course grade, assuming a course grade has the following attributes: a course name and a letter grade. Include a constructor, the accessor and mutator, and methods toString and equals.Write a client class to test all the methods in your class.
package labmodule7num57; import java.util.*; public class LabModule7Num57 { // Constructors//
I'm trying to develop a system for test cases so that whenever a test case is added to a particular package it will automatically be included in testing without having to manually add that particular test case. What is the best way to achieve this? Should I use java reflection? I'm just getting started with Jenkins and trying to configure Selenium test cases.
I am writing a program that should take a url and scan the page for any links. It is in the beginning stages, but I ran into an error when I tried to extend a class. There's a lot going on in this code, but the error is caused by the constructor.
Error message at compile time:
"constructor Page in class Page cannot be applied to given types; {//Constructor ^ required: String found: no arguments reason: actual and formal argument lists differ in length".
Here's the code(first my class, then the class I extended)
public class SearchEngine extends Page { public static Color customGreen = new Color(69, 194, 33); public static Color customYellow = new Color(232, 166, 12); public static Color customBlue = new Color(25,97,255); public static Color customYellowComp = new Color(178,125,0);
When creating a class with a constructor, why does one have to create private variables (attributes) to be used as parameters by the object? The object's parameters will be set to be exactly equal to the private variables (attributes), so what is the point of having the private variables (attributes) Why are both private variables (attributes) and parameters needed when they are set to be equal each other anyway?
For reference I am programming Java in BlueJ. I am fairly new to the language and I am having trouble with sorting.
I am trying to call / test all of the 5 sorting methods (at the same time) in the main class. To be specific, the sorted list has to technically outputted 5 times.
I figured out how to call / test Quicksort:
Sorting.quickSort(friends, 0, friends.length-1);
But the others are not working correctly. Specifically these:
For reference, this is the output when it is not sorted:
Smith, John 610-555-7384 Barnes, Sarah215-555-3827 Riley, Mark 733-555-2969 Getz, Laura 663-555-3984 Smith, Larry464-555-3489 Phelps, Frank322-555-2284 Grant, Marsha243-555-2837
This is the output when it is sorted:
Barnes, Sarah215-555-3827 Getz, Laura 663-555-3984 Grant, Marsha243-555-2837 Phelps, Frank322-555-2284 Riley, Mark 733-555-2969 Smith, John 610-555-7384 Smith, Larry464-555-3489
This is the class Sorting, which I should note is all correct:
public class Sorting{ /** * Swaps to elements in an array. Used by various sorting algorithms. * * @param data the array in which the elements are swapped * @param index1 the index of the first element to be swapped * @param index2 the index of the second element to be swapped */ private static <T extends Comparable<? super T>> void swap(T[] data, int index1, int index2){ T temp = data[index1]; data[index1] = data[index2];
[Code]...
This is the Main class in which I am supposed to call the sorting methods, SortPhoneList:
public class SortPhoneList{ /** * Creates an array of Contact objects, sorts them, then prints * them. */ public static void main (String[] args){ Contact[] friends = new Contact[7]; friends[0] = new Contact ("John", "Smith", "610-555-7384"); friends[1] = new Contact ("Sarah", "Barnes", "215-555-3827");