Using super class constructor in subclass constructor
Hi all. How can I use Person() in my Client()?
something like this:
public class Client extends Person{
private float balance;
Client(String firstName,String midleName,String lastName,Contacts contacts,Adress adress,float balance){
this= Person(firstName,midleName,lastName,contacts,adress);
this.balance=balance;
}
public class Client extends Person{
private float balance; // float?!? Are you sure.... ?
Client(String firstName,String midleName,String lastName,Contacts contacts,Adress adress,float balance){
super(firstName,midleName,lastName,contacts,adress);
this.balance=balance;
}
Similar Messages
-
Hiding of super class members in subclass
I want to hide super class members in subclass. like this
class super{
public int method(){
class sub extends super{
public string method(){
give any solution for this criteria, I cann't make methods as privateIn java there is no way to override
the methodsThat's incorrect. You can override methods in Java.
However, you cannot do what the OP is trying to do. -
How to inheritance a super class without no-argument constructor
i try to inheritance javax.swing.tree.DefaultTreeModel:
public class myTreeModel extends DefaultTreeModel
but the compiler say:
'constructor DefaultTreeModel() not found in class javax.swing.tree.DefaultTreeModel'
and stoped.
How can I get around this?
THANK YOU for your consideration.Inside myTreeModel, i tried several things:
1. add a no-argument constructor;
Your no argument constructor should be either one of the below :
public myTreeModel() {
super(new DefaultMutableTreeNode());
public myTreeModel() {
super(new DefaultMutableTreeNode(), true);
2. add a contructor with (DefaultTreeNode) argument;
Your constructor with tree node argument should be either one of the below :
public myTreeModel(DefaultMutableTreeNode node) {
super(node);
public myTreeModel(DefaultMutableTreeNode node) {
super(node, true);
}You would get an error if you did the following:
public myTreeModel() {
public myTreeModel(DefaultMutableTreeNode node) {
}In both of the cases the default no arguement constructor of the super class is called implicitly like:
public myTreeModel() {
super();
public myTreeModel(DefaultMutableTreeNode node) {
super();
}In this case the call super() is refering to a no arguement constructor in DefaultTreeModel. However, no such constructor exists in the DefaultTreeModel class resulting in a compile time error.
Note: You do not need to use DefaultMutableTreeNode. You an use some other class that implements the TreeNode interface. -
Overwriting a method of a super class in the subclass ???
Hi,
can somebody tell me whether it's possible to add a new implementation of a method in the sub class which is inherited from a super class?
I want to model my program in that way:
1. I define a super class with some implemented methods.
2. This class should be inherited in a sub class. One method should be used as it was implemented in the super class but another method should be overwritten in the subclass.
I know this concept from Java but I couldn't find a way how to do it in ABAP
Many thanks for any help!
Best regards,
Birgithi,
yeas you can do it,
Subclass can re-implement the inherited public and protected methods from superclass.Class C1 contains method METH1(public) and METH2(protected), both of which are modified and re-implemented in its subclass C2.also you can have ur own methods in subclass.Objects are created out of both classes and the method METH1 for both objects are called.
Output of the program demonstrates different behaviour for method METH1 of class C1 and C2.
This demonstrates the theme.
REPORT YSUBDEL.
CLASS C1 DEFINITION.
PUBLIC SECTION.
METHODS : METH1.
PROTECTED SECTION.
METHODS METH2.
ENDCLASS.
CLASS C1 IMPLEMENTATION .
METHOD : METH1.
WRITE:/5 'I am meth1 in class C1'.
CALL METHOD METH2.
ENDMETHOD.
METHOD : METH2.
WRITE:/5 ' I am meth2 in class C1 '.
ENDMETHOD.
ENDCLASS.
CLASS C2 DEFINITION INHERITING FROM C1.
PUBLIC SECTION.
METHODS : METH1 redefinition,
meth3.
PROTECTED SECTION.
METHODS : METH2 redefinition.
ENDCLASS.
CLASS C2 IMPLEMENTATION.
METHOD METH1.
WRITE:/5 'I am meth1 in class C2'.
call method meth2.
endmethod.
METHOD : METH2.
WRITE:/5 ' I am meth2 in class C2 '.
ENDMETHOD.
METHOD : METH3.
WRITE:/5 ' I am own method of class C2'.
ENDMETHOD.
endclass.
START-OF-SELECTION.
DATA : OREF1 TYPE REF TO C1 ,
OREF2 TYPE REF TO C2.
CREATE OBJECT : OREF1 , OREF2.
CALL METHOD : OREF1->METH1 ,
OREF2->METH1.
hope it helps,
regards -
Trying to use super class's methods from an anonymous inner class
Hi all,
I have one class with some methods, and a second class which inherits from the first. The second class contains a method which starts up a thread, which is an anonymous inner class. Inside this inner class, I want to call a method from my first class. How can I do this?
If I just call the method, it will use the second class's version of the method. However, if I use "super," it will try to find that method in the Thread class (it's own super class) and complain.
Any suggestions?
Code:
public class TopClass
public void doSomething(){
// do something
=============================
public class LowerClass extends TopClass
// overrides TopClass's doSomething.
public void doSomething(){
// do something
public void testThread(){
Thread t = new Thread(){
public void run(){
doSomething(); //fine
super.doSomething(); //WRONG: searches class Thread for doSomething...
t.start();
}Classes frequently call the un-overridden versions of methods from their superclasses. That's that the super keyword is for, if I'm not mistaken.You're not mistaken about the keyword, but you're not calling the superclass method from a subclass. Your anonymous inner class is not a subtype of TopLevel. It's a subtype of Thread.
Here it is no different, except that I happen to be in a thread at the time.It's vastly different, since you're attempting to call the method from an unrelated class; i.e., Thread.
I could also be in a button's action listener, for example. It seems natural to me that if I can do it in a method, I should be able to do it within an anonymous inner class which is inside a method.If you were in an button's action listener and needed to call a superclass' implementation of a method overridden in the button, I'd have the same questions about your design. It seems smelly to me.
~ -
How to pass importing parameter of super class method to subclass method?
hi all,
i have defined a class
CLASS CUST_REPORT DEFINITION.
PUBLIC SECTION.
METHODS:DATA_RETRIVE IMPORTING CUSTID_LOW TYPE ZCUSTOMER-ZCUSTID
CUSTID_HIGH TYPE ZCUSTOMER-ZCUSTID.
DATA:IT_CUST TYPE TABLE OF ZCUSTOMER,
WA_CUST TYPE ZCUSTOMER.
ENDCLASS. "cust_report DEFINITION
The method DATA_RETRIVE in this class has two importing parameters named CUSTID_LOW and CUSTID_HIGH.
then i have defined subclas of this clas.
LASS CUST_ORD DEFINITION INHERITING FROM CUST_REPORT.
PUBLIC SECTION.
DATA:IT_ORD TYPE TABLE OF ZORDER.
METHODS:DATA_RETRIVE REDEFINITION,
DISPLAY.
ENDCLASS. "cust_ord DEFINITION
Method DATA_RETRIVE is redefined.
So how to pass importing parameteres of super class method to sub class method with the same name.
Thanks and Regards,
ArpitaHi,
I tried like this.
METHOD DATA_RETRIVE.
CALL METHOD SUPER->DATA_RETRIVE
EXPORTING
CUSTID_LOW = I_CUSTLOW
CUSTID_HIGH = I_CUSTHIGH.
ENDMETHOD.
But parameters I_CUSTLOW and I_CUSTHIGH are not getting values after call to method.
Thanks and Regards,
Arpita -
Overiding super class method to an abstract method
public class Super
public void doSomethingUseful()
public abstract class Sub extends Super
public abstract void doSomethingUseful();
What is the OO principle behind this?
When do we need to override a super class method in subclass as an abstract?Lets first look at a simple design pattern called "Template Method".
public abstract class Library
private void collectBooks()
// collect books here
private void putBookInShelf()
// put books in shelf here
// abstract method sortBooks()
public abstract void sortBooks();
public void processBooks()
collectBooks();
sortBooks();
putBooksInShelf();
this class is an abstract class giving an abstract method called "sortBooks()", what is it useful for? We can make a subclass and implement sortBooks() to sort the books as we want (title wise, author wise, date wise, publisher wise) and then simply call processBooks() to process them.
One Sub class may look like:
public class MyLibrary extends Library
public void sortBooks()
// sort books by title b/c I like them sorted out by title
Another sub-class may look like
public class HisLibrary extends Library
public void sortBooks()
// sort books by Author, b/c he likes his books sorted out by author
Now client will say:
public static void main(String str[])
MyLibrary mylib=new MyLibrary();
mylib.processBooks(); // books will be processed by sorting them title wise
HisLibrary hislib=new HisLibrary();
hislib.processBooks(); // books will be processed by sorting them author wise
So in Library class, method "sortBooks()" was a template method allowing subclasses to sort the books as they want while all other functionality was implemented by Library class itself.
Now if we go back to your example, a method which is concrete in super class that you converted into an abstract method in sub class ( doSomethingUseful() ) is now a template method, which alows the sub classes of this subclass to do something useful what they think is useful or in other words you are allowing subclasses of this subclass to implement this template method as they want by using their own algorithm.
Now why whould you do that? answer is that you don't have access to the code of super class, otherwise you must have made this method abstract in super class in the first place.
Note that the code may not compile, I tried to come up with an exmple and did not pay attention to compiler demands.
I think I cleared my point, It was tough to explain though.
Good Luck.
Khawar. -
hi All,
I was working with object serialization and of the condition is that *"if superclass is not serializable then it must have a public default constructor"*.
My question is, how will having a default constructor in the super class will help serialization.
any sort of information in this regard is much appreciated.codingMonkey wrote:
9th-Stallion wrote:
Thanx for the reply Maaijade.
The question now is that, if no constructor is available in the super class, won't java will creat a default constructor itself, as it does to creat objects of classes that do not have constructors.
ThanxOnly if the super class has no other constructors whatsoever.Which, of course, means that after compilation it already has the default constructor anyway, as that is added by the compiler. ;-) -
Hi,
I have created one class in SE24. This class will be used as a super class for other classes.
When subclasses are derived from this superclass, i want to make sure that some of the methods of superclasses are redefined by the subclasse compulsarily.
So i want to force the subclasses to redefine complusarily some of the methods of its super class.
Is this feasible. If so please let me know the corresponding approach.
Thanks in advance !
PramodHi,
Check this out this will help you.
Inheritance is the concept of passing the behavior of a class to another class.
1.You can use an existing class to derive a new class.
2.Derived class inherits the data and methods of a super class.
3.However they can overwrite the methods existing methods and also add new once.
4.Inheritance is to inherit the attributes and methods from a parent class.
Inheritance:
Inheritance is the process by which object of one class acquire the properties of another class.
Advantage of this property is reusability.
This means we can add additional features to an existing class with out modifying it.
Go to SE38.
Provide the program name.
Provide the properties.
Save it.
Provide the logic for inheritance.
*& Report ZLOCALCLASS_VARIABLES *
*&----------------------------------------------------*REPORT ZLOCALCLASS_VARIABLES.
*OOPS INHERITANCE
*SUPER CLASS FUNCTIONALITY
*DEFINE THE CLASS.
CLASS CL_LC DEFINITION.
PUBLIC SECTION.
DATA: A TYPE I,
B TYPE I,
C TYPE I.
METHODS: DISPLAY,
MM1.
CLASS-METHODS: MM2.
ENDCLASS.
*CLASS IMPLEMENTATION
CLASS CL_LC IMPLEMENTATION.
METHOD DISPLAY.
WRITE:/ 'THIS IS SUPER CLASS' COLOR 7.
ENDMETHOD.
METHOD MM1.
WRITE:/ 'THIS IS MM1 METHOD IN SUPER CLASS'.
ENDMETHOD.
METHOD MM2.
WRITE:/ 'THIS IS THE STATIC METHOD' COLOR 2.
WRITE:/ 'THIS IS MM2 METHOD IN SUPER CLASS' COLOR 2.
ENDMETHOD.
ENDCLASS.
*SUB CLASS FUNCTIONALITY
*CREATE THE CLASS.
*INHERITING THE SUPER CLASS.
CLASS CL_SUB DEFINITION INHERITING FROM CL_LC. "HOW WE CAN INHERIT
PUBLIC SECTION.
DATA: A1 TYPE I,
B1 TYPE I,
C1 TYPE I.
METHODS: DISPLAY REDEFINITION, "REDEFINE THE SUPER CLASS METHOD
SUB.
ENDCLASS.
*CLASS IMPLEMENTATION.
CLASS CL_SUB IMPLEMENTATION.
METHOD DISPLAY.
WRITE:/ 'THIS IS THE SUB CLASS OVERWRITE METHOD' COLOR 3.
ENDMETHOD.
METHOD SUB.
WRITE:/ 'THIS IS THE SUB CLASS METHOD' COLOR 3.
ENDMETHOD.
ENDCLASS.
*CREATE THE OBJECT FOR SUB CLASS.
DATA: OBJ TYPE REF TO CL_SUB.
START-OF-SELECTION.
CREATE OBJECT OBJ.
CALL METHOD OBJ->DISPLAY. "THIS IS SUB CLASS METHOD
CALL METHOD OBJ->SUB.
WRITE:/'THIS IS THE SUPER CLASS METHODS CALLED BY THE SUB CLASS OBJECT'COLOR 5.
SKIP 1.
CALL METHOD OBJ->MM1. "THIS IS SUPER CLASS METHOD
CALL METHOD OBJ->MM2.
*CREATE THE OBJECT FOR SUPER CLASS.
DATA: OBJ1 TYPE REF TO CL_LC.
START-OF-SELECTION.
CREATE OBJECT OBJ1.
SKIP 3.
WRITE:/ 'WE CAN CALL ONLY SUPER CLASS METHODS BY USING SUPER CLASS OBJECT' COLOR 5.
CALL METHOD OBJ1->DISPLAY. "THIS IS SUPER CLASS METHOD
CALL METHOD OBJ1->MM1.
CALL METHOD OBJ1->MM2.
This example will help you to solve your problem.
For more detailed information GOTO -> SAPTECHNICAL ->Tutorials -> Object Oriented Programming.
Regards Madhu.
Code Formatted by: Alvaro Tejada Galindo on Jan 7, 2009 12:13 PM -
Error while calling a super class public method in the subclass constructor
Hi ,
I have code like this:
CLASS gacl_applog DEFINITION ABSTRACT.
PUBLIC SECTION.
METHODS:
create_new_a
IMPORTING pf_obj TYPE balobj_d
pf_subobj TYPE balsubobj
pf_extnumber TYPE string
EXPORTING pfx_log_hndl TYPE balloghndl
EXCEPTIONS error
ENDCLASS.
CLASS gacl_applog IMPLEMENTATION.
METHOD create_new_a.
DATA: ls_log TYPE bal_s_log.
Header aufsetzen
MOVE pf_extnumber TO ls_log-extnumber.
ls_log-object = pf_obj.
ls_log-subobject = pf_subobj.
ls_log-aluser = sy-uname.
ls_log-alprog = sy-repid.
ls_log-aldate = sy-datum.
ls_log-altime = sy-uzeit.
ls_log-aldate_del = ls_log-aldate + 1.
CALL FUNCTION 'BAL_LOG_CREATE'
EXPORTING
i_s_log = ls_log
IMPORTING
e_log_handle = pfx_log_hndl
EXCEPTIONS
OTHERS = 1.
IF ( sy-subrc NE 0 ).
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
RAISING error.
ENDIF.
ENDMETHOD.
CLASS gcl_applog_temp DEFINITION INHERITING FROM gacl_applog.
PUBLIC SECTION.
DATA: log_hndl TYPE balloghndl READ-ONLY
, t_log_hndl TYPE bal_t_logh READ-ONLY
METHODS: constructor
IMPORTING pf_obj TYPE balobj_d
pf_subobj TYPE balsubobj
pf_extnumber TYPE string
EXCEPTIONS error
, msg_add REDEFINITION
, display REDEFINITION
ENDCLASS.
CLASS gcl_applog_temp IMPLEMENTATION.
METHOD constructor.
CALL METHOD create_new_a
EXPORTING pf_obj = pf_obj
pf_subobj = pf_subobj
pf_extnumber = pf_extnumber
IMPORTING pfx_log_hndl = log_hndl.
IF ( sy-subrc NE 0 ).
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
RAISING error.
ENDIF.
ENDMETHOD.
A public method of Super class has been called from the constructor of the sub class. we are getting the syntax error :
' In the constructor method, you can only access instance attributes, instance methods, or "ME" after calling the constructor of the superclass '
Can you please suggest how to change the code with out affecting the functioanlity.
Thank you ,
Lakshmi.Hi,
Call that method by instance of Subclass. OR
SUPER-->method.
Read very useful document
Constructors
Constructors are special methods that cannot be called using CALL METHOD. Instead, they are called automatically by the system to set the starting state of a new object or class. There are two types of constructors - instance constructors and static constructors. Constructors are methods with a predefined name. To use them, you must declare them explicitly in the class.
The instance constructor of a class is the predefined instance method CONSTRUCTOR. You declare it in the public section as follows:
METHODS CONSTRUCTOR
IMPORTING.. [VALUE(]<ii>[)] TYPE type [OPTIONAL]..
EXCEPTIONS.. <ei>.
and implement it in the implementation section like any other method. The system calls the instance constructor once for each instance of the class, directly after the object has been created in the CREATE OBJECT statement. You can pass the input parameters of the instance constructor and handle its exceptions using the EXPORTING and EXCEPTIONS additions in the CREATE OBJECT statement.
The static constructor of a class is the predefined static method CLASS_CONSTRUCTOR. You declare it in the public section as follows:
CLASS-METHODS CLASS_CONSTRUCTOR.
and implement it in the implementation section like any other method. The static constructor has no parameters. The system calls the static constructor once for each class, before the class is accessed for the first time. The static constructor cannot therefore access the components of its own class.
Pls. reward if useful.... -
Cannot use super(msg) in asbstract class constructor!!
Hi, I'm getting compiling errors (compiler says I must call super first thing I do from constructor, which is exactly what I'm doing!) when trying to call super(String msg) from my subclass constructor. Superclass is abstract and subclasses Exception, on which I also want to call super(msg), to initialize the Exception class with a String message.
What is wromg ? Please any help in resolving this issue will be highly appreciated...
/Alcoolio
abstract class SuperExceptionClass extends Exception{
void SuperClass(String msg){
super(msg);
void someCoolCommonMethod(){
//dostuff...
class SubExceptionClass1 extends SuperClass{
void SubClass(String msg){
super(msg);
}Hi, I'm getting compiling errors (compiler says I must
call super first thing I do from constructor, which is
exactly what I'm doing!) when trying to call
super(String msg) from my subclass constructor.
Superclass is abstract and subclasses Exception, on
which I also want to call super(msg), to initialize
the Exception class with a String message.
What is wromg ? Please any help in resolving this
issue will be highly appreciated...
/Alcoolio
abstract class SuperExceptionClass extends Exception{
void SuperClass(String msg){
super(msg);
void someCoolCommonMethod(){
//dostuff...
class SubExceptionClass1 extends SuperClass{
void SubClass(String msg){
super(msg);
}First:
Constructor cannot have a return type. Not even void
Second:
Constructor should have same name as the class name. Otherwise it is a function. You can user "super()" only in constructor (although you could do super.xxx / super.xxx() in methods ).
abstract class SuperClass extends Exception{
SuperClass(String msg){ // change this
super(msg);
void someCoolCommonMethod(){
//dostuff...
class SubClass extends SuperClass{
SubClass(String msg){
super(msg);
} -
How to inherit super class constructor in the sub class
I have a class A and class B
Class B extends Class A {
// if i use super i can access the super classs variables and methods
// But how to inherit super class constructor
}You cannot inherit constructors. You need to define all the ones you need in the subclass. You can then call the corresponding superclass constructor. e.g
public B() {
super();
public B(String name) {
super(name);
} -
Is it possible to override super class constructor?
Is it possible to override super class constructor form subclass?
However, you can achieve do something that looks similar to overriding.
class Parent {
Parent(int i, String s) {
// do stuff
class Child extends Parent {
Child(int i, String s) {
super(i, s);
// do Child stuff here
new Parent(1, "abc");
new Child(2, "xyz");Although that's not overriding, it sort of looks similar. Is this what you were talking about? -
Super class default constructor
Hello,
I want to clear some confusion. I am studying for the exam. In this particular book an example shows that
Super class has 2 constructor
public abc() and public abc(int n)
Sub class has 2 constructor
public xyz() and public xyz(int n)
now when an instance is created for the subclass
xyz t = new xyz(1)
It will invoke the super class no argument constructor eventhough a default constructor exist in subclass?
Regards,
adilHere are the rules for constructors--"ctors" because I'm lazy. Also, because I'm lazy, "super(...)" and "this(...)" mean any super or this call, regardless of how many args it takes, including those that take no args.
1) Every class has at least one ctor.
1.1) If you do not define an explicit constructor for your class, the compiler provides a implicit constructor that takes no args and simply calls super().
1.2) If you do define one or more explicit constructors, regardless of whether they take args, then the compiler no longer provides the implicit no-arg ctor. In this case, you must explicitly define a public MyClass() {...} if you want one.
1.3) Constructors are not inherited.
2) The first statement in the body of any ctor is either a call to a superclass ctor super(...) or a call to another ctor of this class this(...) 2.1) If you do not explicitly put a call to super(...) or this(...) as the first statement in a ctor that you define, then the compiler implicitly inserts a call to super's no-arg ctor super() as the first call. The implicitly called ctor is always super's no-arg ctor, regardless of whether the currently running ctor takes args.
2.2) There is always exactly one call to either super(...) or this(...) in each constructor, and it is always the first call. You can't put in more than one, and if you put one in, the compiler's implicitly provided one is removed. -
Why can't classes with private constructors be subclassed?
Why can't classes with private constructors be subclassed?
I know specifying a private nullary constructor means you dont want the class to be instantiated or the class is a factory or a singleton pattern. I know the workaround is to just wrap all the methods of the intended superclass, but that just seems less wizardly.
Example:
I really, really want to be able to subclass java.util.Arrays, like so:
package com.tassajara.util;
import java.util.LinkedList;
import java.util.List;
public class Arrays extends java.util.Arrays {
public static List asList(boolean[] array) {
List result = new LinkedList();
for (int i = 0; i < array.length; i++)
result.add(new Boolean(array));
return result;
public static List asList( char[] array) {
List result = new LinkedList();
for (int i = 0; i < array.length; i++)
result.add(new Character(array[i]));
return result;
public static List asList( byte[] array) {
List result = new LinkedList();
for (int i = 0; i < array.length; i++)
result.add(new Byte(array[i]));
return result;
public static List asList( short[] array) {
List result = new LinkedList();
for (int i = 0; i < array.length; i++)
result.add(new Short(array[i]));
return result;
public static List asList( int[] array) {
List result = new LinkedList();
for (int i = 0; i < array.length; i++)
result.add(new Integer(array[i]));
return result;
public static List asList( long[] array) {
List result = new LinkedList();
for (int i = 0; i < array.length; i++)
result.add(new Long(array[i]));
return result;
public static List asList( float[] array) {
List result = new LinkedList();
for (int i = 0; i < array.length; i++)
result.add(new Float(array[i]));
return result;
public static List asList( double[] array) {
List result = new LinkedList();
for (int i = 0; i < array.length; i++)
result.add(new Double(array[i]));
return result;
// Now that we extend java.util.Arrays this method is not needed.
// /**JCF already does this so just wrap their implementation
// public static List asList(Object[] array) {
// return java.util.Arrays.asList(array);
public static List asList(Object object) {
List result;
Class type = object.getClass().getComponentType();
if (type != null && type.isPrimitive()) {
if (type == Boolean.TYPE)
result = asList((boolean[])object);
else if (type == Character.TYPE)
result = asList(( char[])object);
else if (type == Byte.TYPE)
result = asList(( byte[])object);
else if (type == Short.TYPE)
result = asList(( short[])object);
else if (type == Integer.TYPE)
result = asList(( int[])object);
else if (type == Long.TYPE)
result = asList(( long[])object);
else if (type == Float.TYPE)
result = asList(( float[])object);
else if (type == Double.TYPE)
result = asList(( double[])object);
} else {
result = java.util.Arrays.asList((Object[])object);
return result;
I do not intend to instantiate com.tassajara.util.Arrays as all my methods are static just like java.util.Arrays. You can see where I started to wrap asList(Object[] o). I could continue and wrap all of java.util.Arrays methods, but thats annoying and much less elegant.Why can't classes with private constructors be
subclassed?Because the subclass can't access the superclass constructor.
I really, really want to be able to subclass
java.util.Arrays, like so:Why? It only contains static methods, so why don't you just create a separate class?
I do not intend to instantiate
com.tassajara.util.Arrays as all my methods are static
just like java.util.Arrays. You can see where I
started to wrap asList(Object[] o). I could continue
and wrap all of java.util.Arrays methods, but thats
annoying and much less elegant.There's no need to duplicate all the methods - just call them when you want to use them.
It really does sound like you're barking up the wrong tree here. I can see no good reason to want to subclass java.util.Arrays. Could you could explain why you want to do that? - perhaps you are misunderstanding static methods.
Precisely as you said, if they didn't want me to
subclass it they would have declared it final.Classes with no non-private constructors are implicitly final.
But they didn't. There has to be a way for an API
developer to indicate that a class is merely not to be
instantiated, and not both uninstantiable and
unextendable.There is - declare it abstract. Since that isn't what was done here, I would assume the writers don't want you to be able to subclass java.util.Arrays
Maybe you are looking for
-
Error while refreshing the planning applivation with essbase
Hi all, I am facing issue to refresh the planning application to essbase. using version 11.1.1.3. getting this error: hyperion.planning.olap.EssbaseException: Invalid outline handle passed to ESSOTL function %s (1060000) Please help me if any one kno
-
I have been provided with a report that requires the parameter field to be populated with the word u2018Weeku2019 and followed by the week number i.e. Week 02 I have an automated system for exporting reports via email, and I can set the parameters to
-
Slow script warning when prompt choice list has more than 100 elements
Hi, Has anyone experienced this issue in Internet Explorer version 7 and above? If the prompt has more than 100 elements (my current use-case), the prompt does not get rendered and I get the slow/busy script warning in Internet Explorer. I have not e
-
Can you use FaceTime or iChat to call a non-iPhone?
Can you use FaceTime or iChat to call a someone who does not have an iPhone?
-
Validation for Businessplace section code
Hi, Can any body tell me abt how to put valiadation for making business place section code mandatory in Transaction code GGB0