import java.lang.*;
import java.io.*;
import java.util.*;
  
interface Batm
{
   final static int minbal=500;

    abstract void withdrawl();

}

 class Bal implements Batm
{
    int amt,cbal;
  Bal(int amt,int cbal)
   {
     this.amt=amt;
     this.cbal=cbal;
    }
 
    void withdrawl()
     {
        if(cbal>minbal)
            {
                   cbal=cbal-amt;
                 System.out.println(amt+" "+"withdrawn");
             }
          else
            {
              System.out.println("bal nt sufficient");
             }
      }
}

 class Atm
 {
    public static void main(String args[])throws IOException
      {
        

             Bal b=new Bal(2000,5000);
         b.withdrawl();

         }
}

m getting an error dat
attempting to assign weaker access privilges.can not implement withdrawl in bal in batm

Recommended Answers

All 6 Replies

import java.lang.*;
import java.io.*;
import java.util.*;

interface Batm
{
final static int minbal=500;

abstract void withdrawl();

}

class Bal implements Batm
{
int amt,cbal;
Bal(int amt,int cbal)
{
this.amt=amt;
this.cbal=cbal;
}

void withdrawl()
{
if(cbal>minbal)
{
cbal=cbal-amt;
System.out.println(amt+" "+"withdrawn");
}
else
{
System.out.println("bal nt sufficient");
}
}
}

class Atm
{
public static void main(String args[])throws IOException
{


Bal b=new Bal(2000,5000);
b.withdrawl();

}
}


m getting an error dat
attempting to assign weaker access privilges.can not implement withdrawl in bal in batm

why have you got two withdrawl methods, one abstract(and no code) the other public(and has code)? also see here:http://docs.oracle.com/javase/tutorial/java/IandI/abstract.html and here:http://docs.oracle.com/javase/tutorial/java/IandI/usinginterface.html and this:http://java.sun.com/docs/books/jls/second_edition/html/interfaces.doc.html, http://docs.oracle.com/javase/tutorial/java/concepts/interface.html and this just for extra :):http://www.java-examples.com/java-interface-example

[EDIT] or just:

interface Batm
{

abstract void withdrawl();

}

class Bal implements Batm
{
Bal(int amt,int cbal)
{
}

    @Override
public void withdrawl()
{
}
}

public class ATM
{
public static void main(String args[])throws IOException
{
}
}


}

why have you got two withdrawl methods, one abstract(and no code) the other public(and has code)?

i want t knw how to implenet iterfaces
as interfaces cn nly have final static varibles nd abstarct methods
i took dat way
m a learner pls help me

i want t knw how to implenet iterfaces
as interfaces cn nly have final static varibles nd abstarct methods
i took dat way
m a learner pls help me

Please see my edited post added three links

Methods declared in an interface are automatically public and abstract, so the method definition in the class that implements must be declared public, as default access is more restricted

Methods declared in an interface are automatically public and abstract, so the method definition in the class that implements must be declared public, as default access is more restricted

yes got it
tq tq tq

Never thought about this before, bit it is a bit weird - you declare a method with default scope in an interface, implement that in a class also with default scope, and its an error. :-O

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.