Java中主要关键字的含义及用法

来源:互联网 发布:网络金融最初发展阶段 编辑:程序博客网 时间:2024/05/18 00:08
/** * @author zhaocx1 private:私有权限修饰符,用于修饰类中的成员(成员变量,成员函数)。私有只在本类中有效。 *         注意:私有仅仅是封装的一种表现形式 。 之所以对外提供访问方式,就因为可以在访问方式中加入逻辑判断等语句。 *         对访问的数据进行操作,提高代码健壮性。<br /> *         将age私有化以后,类以外即使建立了对象也不能直接访问。 但是人应该有年龄,就需要在person类中提供对应的访问方式。 */public class Person {public int age;//定义age属性public int getAge() {//定义getAge方法return age;//返回一个age}public void setAge(int a) {//定义setAge方法if (a > 0 && a < 130) {this.age = a;} else {System.out.println("false age");}}void speak() {//定义一个函数System.out.println("age=" + age);//输出age}public static void main(String[] args) {//主函数,整个函数的切入点Person p = new Person();//实例化Personp.setAge(20);//调用setAge方法,并传递一个数值p.speak();//调用speak方法}}
/** * @author zhaocx1 * *//* * this:看上去,是用于区分局部变量和成员变量的情况。 * this为什么可以解决这个问题呢?this到底代表的是什么呢? * this:就代表本类的对象,到底代表哪一个呢? * this代表所在函数所属对象的引用。 * 简单说:哪个对象在调用 this所在的函数,this就代表哪个函数。 *  * this的应用:当定义类中功能时,该函数内部要用到调用该函数的对象时,这时用this来表示这个对象。  * 但凡本类功能内部使用到了本类对象时,都用this表示。 *//* * 给人定义一个用于比较年龄是否相同的功能,也就是是否是同龄人。 *  */class PersonP {private String name;//定义name属性private int age;//定义age属性PersonP(int age) {//对age进行构造函数this.age = age;//调用本类对象}PersonP(String name) {//对name进行构造函数this.name = name;//调用本来对象}PersonP(String name, int age) {//对name和age进行共同构造函数this.name = name;this.age = age;}public void speak() {//定义方法System.out.println("name=" + this.name + "...age=" + this.age);//输出name和agethis.show();//调用show函数}public void show() {//定义show函数System.out.println(this.name);//输出name}/* * 需求:给人定义一个用于比较年龄是否相同的功能。也就是是否是同龄人。 */public boolean compare(PersonP p) {//定义功能,对年龄进行判断return this.age == p.age;}}class Person2 {public static void main(String[] args) {//主函数,整个程序的切入点PersonP p1 = new PersonP(20);//实例化对象PersonP p2 = new PersonP(25);//实例化对象boolean b = p1.compare(p2);//判断两个年龄是否相同System.out.println(b);//输出判断结果PersonP p = new PersonP("李四",26);//实例化对象,并传递名字和年龄p.speak();}}
/** *  * @author zhaocx1 * *//* * this语句:用于构造函数之间进行调用。 * this语句只能定义在构造函数的第一行。因为初始化要先执行。 *//* * Person p=new Person("李四",30) * 该句话都做了什么事情? * 1.因为new用到了Person.class,所以会先找到Person.class文件并加载到内存中。 * 2.执行该类中的static代码块,如果有的话,给Person.class类进行初始化。 * 3.在堆内存中开辟空间,分配内存地址。 * 4.在堆内存中建立对象的特有属性,并进行默认初始化。 * 6.对属性进行显示初始化。 * 7.对对象进行对应的构造函数的初始化。 * 8.将内存地址付给占内存中的p变量。 *  */class PersonA{private String name;//定义name属性private int age;//定义age属性PersonA(String name)//构造name函数{this.name=name;//调用本类对象}PersonA(String name,int age)//构造name和age函数{this(name);//调用本类对象this.age=age;//调用本类对象}public static void printMesg(String name,int age)//定义一个函数,传递参数name和age{System.out.println("我的名字是"+name+", 今年"+age+"岁了。");//输出语句,内容为名字和年龄}}public class PersonDemo3 {public static void main(String[] args)//主函数,整个程序的切入点{PersonA p=new PersonA("李四",30);//实例化PersonP,并传递姓名和年龄p.printMesg("李四",30);}}
/** *  * @author zhaocx1 *  *//* * final:最终。作为一个修饰符。  * 1.可以修饰类,函数,变量。 * 2.被final修饰的类不可以被继承。为了避免被继承,被子类复写功能。 * 3.被final修饰的方法不可以被覆写。 * 4.被final修饰的变量是一个常量只能赋值一次,既可以修饰成员变量,也可以修饰局部变量。 * 当在描述事物时,一些数据的出现值是固定的,那么这时为了增强阅读性,都给这些值起个名字,方便于阅读。 * 而这个值不需要改变,所以加上final。作为常量:常量的书写规范所有字母都大写,如果由多个单词组成。 单词间通过_连接。 * 5.内部类定义在类中的局部位置上时,只能访问该局部被final修饰的局部变量。 *  * 目前类上两个修饰符:public final private修饰成员 */class Demo {final int x = 3;// 定义一个全局整型常量,x的值终身为3,不可以被继承final double MY_PI = 3.14;// 定义一个全局小数常量,不可以被继承final void show1() {// 定义父类中的方法,被final修饰不可以被子类继承,只能在本来中使用}void show2() {// 定义父类中的方法System.out.println("java");// 输出打印父类方法内容}}class SubDemo extends Demo {// 定义一个子类继承父类void show2() {// 覆写父类中的方法System.out.println("android");// 输出打印覆写方法在子类中的内容}}public class Final1Demo {public static void main(String[] args) {// 主函数,整个函数的切入点SubDemo su = new SubDemo();// new一个子类对象,进行初始化su.show2();// 调用父类中的方法}}


0 0
原创粉丝点击