Java scope public, private, protected, and no-write differences

Source: Internet
Author: User

Description section turn from: http://yangmingjiayou.iteye.com/blog/151865


Before I explain these four keywords, I want to make a simple definition of the relationship between classes, for inheriting their own class,base class can think that they are their own children, and for their own directory of classes, think is their friends.

1, public:public indicates that the data member, the member function is open to all users, all users can directly make the call

2, private:private means private, private means that except class himself, no one can directly use, private property sacred inviolability, even children, friends, can not be used.

3, protected:protected for children, friends, is public, free to use, without any restrictions, and for other external class,protected become private.

Scope Current class same package descendant class other package

Public√√√√

Protected√√√x

Friendly√√xx

Private√xxx

Default to friendly when not written

Here is an example:

1.ftest.java

Java Code Collection code Packagescope;  Public classFtest {Private intA=1; protected intb=2;  Public intC=3; Private intShowa () {/*System.out.println (a);*/          returnA; }       Public intshowa1 () {/*System.out.println (a);*/          returnA; }      protected intShowb () {/*System.out.println (b);*/          returnb; }       Public intSHOWC () {/*System.out.println (c);*/          returnC; }        }  

2.sontest.java

Java Code Collection code Packagescope; Import Staticorg.junit.assert.*; Importorg.junit.Test;  Public classsontest {@Test Public voidTest () {ftest ft=Newftest (); /*the A variable of private type, although not directly obtained by FT.A, can get the value of a through the showa1 of public. * If a variable is completely private, then the Showa1 method is changed to private*/          inta1=ft.showa1 (); intb1=ft.b; intb=FT.SHOWB (); intc1=ft.c; intC=FT.SHOWC (); System.out.println ("Private variable a1=" +a1+ "protected variable b=" +b+ "protected variable b1=" +b1+ "public variable c=" +c+ "public variable c1=" +C1); }    }  

Java scope public, private, protected, and no-write differences

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.