1df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden/* 2df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * Copyright (C) 2009 The Android Open Source Project 3df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * 4df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * Licensed under the Apache License, Version 2.0 (the "License"); 5df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * you may not use this file except in compliance with the License. 6df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * You may obtain a copy of the License at 7df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * 8df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * http://www.apache.org/licenses/LICENSE-2.0 9df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * 10df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * Unless required by applicable law or agreed to in writing, software 11df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * distributed under the License is distributed on an "AS IS" BASIS, 12df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * See the License for the specific language governing permissions and 14df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden * limitations under the License. 15df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden */ 16df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden 17df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFaddenpublic class Base { 18df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden public void declaredInBase() { 19df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden System.out.println("declaredInBase: Base"); 20df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden } 21df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden 22df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden public void overridden() { 23df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden System.out.println("overridden: Base"); 24df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden } 25df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden 26df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden /* src2: removed */ 27df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden public void wasOverridden() { 28df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden System.out.println("wasOverridden: Base"); 29df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden } 30df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden 31df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden public void callOverrideWithPublic() { 32df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden overrideWithPublic(); 33df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden } 34df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden public void overrideWithPublic() { 35df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden System.out.println("overrideWithPublic: Base"); 36df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden } 37df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden 38df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden public void callOverridePublicWithProtected() { 39df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden overridePublicWithProtected(); 40df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden } 41df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden /* src2: public */ 42df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden protected void overridePublicWithProtected() { 43df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden System.out.println("overridePublicWithProtected: Base"); 44df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden } 45df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden 46df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden public void callOverrideProtectedWithPublic() { 47df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden overrideProtectedWithPublic(); 48df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden } 49df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden protected void overrideProtectedWithPublic() { 50df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden System.out.println("overrideProtectedWithPublic: Base"); 51df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden } 52df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden 53df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden public void callOverridePublicWithPrivate() { 54df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden overridePublicWithPrivate(); 55df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden } 56df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden /* src2: public */ 57df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden private void overridePublicWithPrivate() { 58df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden System.out.println("overridePublicWithPrivate: Base"); 59df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden } 60df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden 61df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden public void callOverridePrivateWithPublic() { 62df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden overridePrivateWithPublic(); 63df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden } 64df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden private void overridePrivateWithPublic() { 65df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden System.out.println("overridePrivateWithPublic: Base"); 66df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden } 67df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden 68df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden public void callOverrideVirtualWithStatic() { 69df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden overrideVirtualWithStatic(); 70df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden } 71df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden /* src2: non-static */ 72df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden public static void overrideVirtualWithStatic() { 73df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden System.out.println("overrideVirtualWithStatic: Base"); 74df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden } 75df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden 76df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden public void callOverrideStaticWithVirtual() { 77df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden overrideStaticWithVirtual(); 78df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden } 79df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden /* src2: static */ 80df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden public void overrideStaticWithVirtual() { 81df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden System.out.println("overrideStaticWithVirtual: Base"); 82df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden } 83df933eda71af90eecf9e2cfd0ae0eeac6f4b7c9cAndy McFadden} 84