This question is not only about Java, it is also about another object oriented languages. I designing simple UI library and it has got a special interface called Drawer which contains abstract methods for drawing controls and primitives on some graphical surface where we can set pixels. It designed to be built on the top of some simple graphics platform. And just for now I use AWT drawing engine.
The thing is I created class AWTDrawer which extends java.awt.Canvas and implement Drawer and here is a naming collision: both ancestors have SetColor, getColor, drawLine methods. How can I determinate what ancestor's method I want to use?
Inheritance in Java: naming collision case
141 Views Asked by Kuznetsov S.A. At
2
There are 2 best solutions below
Related Questions in JAVA
- I need the BIRT.war that is compatible with Java 17 and Tomcat 10
- Creating global Class holder
- No method found for class java.lang.String in Kafka
- Issue edit a jtable with a pictures
- getting error when trying to launch kotlin jar file that use supabase "java.lang.NoClassDefFoundError"
- Does the && (logical AND) operator have a higher precedence than || (logical OR) operator in Java?
- Mixed color rendering in a JTable
- HTTPS configuration in Spring Boot, server returning timeout
- How to use Layout to create textfields which dont increase in size?
- Function for making the code wait in javafx
- How to create beans of the same class for multiple template parameters in Spring
- How could you print a specific String from an array with the values of an array from a double array on the same line, using iteration to print all?
- org.telegram.telegrambots.meta.exceptions.TelegramApiException: Bot token and username can't be empty
- Accessing Secret Variables in Classic Pipelines through Java app in Azure DevOps
- Postgres && statement Error in Mybatis Mapper?
Related Questions in OOP
- How do I apply the interface concept with the base-class in design?
- Creating multiple instances of a class with different initializing values in Flutter
- System.InvalidCastException while inheriting a class
- How to add logging to an abstract class in php
- creating cutscenes using OOP and pygame
- What effect does the `virtual` modifier have on an interface member?
- How to pass the value of a function of one class to a function of another with the @property decorator
- Creating a C++ Class Instance for every server request?
- Dart OOP programming
- Containing Object Design
- Clean architecture/OOP and optimization: how to organize for classes with same logic
- How to get 5 LEVEL hierarchy users from database using PHP and MYSQL
- TypeError: unsupported operand type(s) for /: 'property' and 'complex'
- How can I refer to this metaclass inside a metaclass without specifying its name in the code?
- Why customed "-eq" do twice in Powershell?
Related Questions in INHERITANCE
- System.InvalidCastException while inheriting a class
- What effect does the `virtual` modifier have on an interface member?
- Is it allowed to pass "this" of derived class to constructor of base class?
- Why parent no-arg constructor is called?
- Python super().__init__() doesn't call multiple inherited classes?
- How to query child models from parent model data?
- .NET Core : disable parent application web.config inheritance
- Is it appropriate to subclass the parent's parameters in subclass __init__'s within python?
- Inheritance - is it possible to 'force' variable values relative to the derived class?
- Need more parameters in subclass overridden method
- How to call a method on a generic type from inside the generic class?
- Dependency Injection with Generic Interface and Inheritance
- Sparx Enterprise Architect - sysml - how to model a configuration on a block definition diagram using specialization
- Generic "Create" method in .NET Core that creates two entities
- crud operation and function with a an abstract class of which it had two subclasses
Related Questions in MULTIPLE-INHERITANCE
- Python super().__init__() doesn't call multiple inherited classes?
- Is it legal to zero empty C++ classes in the constructor and inherit from them?
- Cannot implement multiple inheritance with QObject
- Name hiding when multi-inherited
- one of many python attributes not carrying over to children in GitHub class, with and without Django support
- C++ multiple inheritance: avoiding reimplementation of a pure virtual function if the same function is already implemented in one of the parents
- mutiple inheritance: use __init__ method of two superclasses
- Can I emulate Multiple Class Inheritance with Decorators?
- Unexpected method call order in Python multiple inheritance
- an inheritance example from Solidity doc
- Multiple inheritance going from one Base Class to another
- Selective Typedefs Inheritance at Compile Time
- Unable to use super() with multiple inheritance in Python
- Serializing multiple inheritance models in Django REST Framework
- Is there any reason to do to multiple inheritance with object?
Related Questions in LIBRARY-DESIGN
- Constexpr time compute graph generation in cpp
- std::span as a base class for std::vector
- Why not make { "hello"s + "world"sv; } valid in C++20?
- Why not a Phantom class which extends Functor Contravariant?
- Raise compile-time error if a string has whitespace
- Is catch(Exception) viable for convenience methods if there is an overload that allows proper handling?
- Library design and DI with 3rd party dependencies
- How to Do Nested Imports
- Compose C header file to be able to be used from C++
- Java standard library: Which methods are with biggest number of arguments in the library?
- Should String and CharArray be the same thing?
- Designing public error codes in C for a library
- Use outer class instance as self in inner class?
- Scala: package object v.s. singleton object within a package
- Referring to abstract type outside of trait for class construction
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
This is generally a fault in your design.
From your description you have implemented an is a relationship between your
Drawerclass and thejava.awt.Canvasclass by extending it.It seems likely that you actually want a has a relationship.
To solve this, instead of extending
java.awt.Canvas, hold a localCanvasinstance variable and use it in yourDrawerclass.