封装继承

第一节:方法的参数传递、返回值

Java语言在给被调用方法的参数赋值时,采用传值的方式:

基本类型数据传递的是该数据的值本身。

引用类型数据传递的也是这个变量的值本身,即对象的地址(引用),而非对象本身。

1.1 基本数据类型传递 //类 public class PassValue{ public void change(int x){ x = 100; System.out.println("方法中x==" + x); } } //类 public class Test{ public static void main(String[] args){ PassValue pv = new PassValue(); int x = 5; System.out.println("方法调用之前x=="+ x); pv.change(x); System.out.println("方法调用之后x==" + x); } } 1.2 引用数据类型传递

数组、类、String(比较特殊特点:和基本类型一样)

public class PassValue2{ int x ; public void change(PassValue2 obj){ obj.x = 100; System.out.println(“方法中obj.x==” + obj.x); } } public class Test{ public static void main(String[] args){ PassValue2 p = new PassValue2(); p.x = 5; System.out.println(“方法调用之前p.x==” + p.x); p.change(p); System.out.println(“方法调用之后p.x==” + p.x); } } 编写学生类: 学号,姓名,年龄,地址 显示信息方法 编写学生管理类 输入学生信息(学生作为方法返回值) 修改学生信息(学生作为参数传递) 使用数组保存多个学生信息,传递给学生管理类遍历学生信息 1.3基本类型和引用类型作为方法的返回值

基本类型返回的实际数据

引用类型返回的是对象的地址

第二节:封装性

Java语言有三大特征:

封装(encapsulation):对外部不可见,隐藏对象的属性和实现细节。

继承(inheritance):一个类继承另一个类的成员。

多态(Polymorphism):每个对象表现的多样性。

1.1 封装的概念

什么是封装:在类中,对于不想被类外直接访问的成员变量,进行私有化,同时对外提供一个公有的方法访问私有的成员。

封装成员变量两个步骤:

第一步: 添加private 修饰符

第二步: 添加get和set方法

1.2 private

使用private访问权限实现成员变量的私有化,private修饰的成员变量就是私有成员变量,只能在类内部直接访问,类外不能直接访问

1.3 get和set方法

get方法表示访问私有属性的方法:

语法:

public 属性类型 getXxx(){ return 属性; }

set方法表示修改私有属性的值的方法:

public void setXxx(参数类型 参数){ this.xxx = 参数; } package com.qf.day09_4; /** * 人类 * 属性: 姓名 年龄 性别 * 方法: eat study * * 封装:(1)把成员变量变成私有的 (2) 添加get和set方法 * @author wgy * */ public class Person { private String name; private int age; private String sex; public String getName() { return name; } public void setName(String name) { this.name=name; } public int getAge() { return age; } public void setAge(int age) { if(age>100||age<1) { this.age=18; }else { this.age=age; } } public String getSex() { return sex; } public void setSex(String sex) { if(sex.equals("男")||sex.equals("女")) { this.sex=sex; }else { this.sex="男"; } } public void eat() { System.out.println(name+"开始吃饭..."); } public void study() { System.out.println(name+"开始努力学习..."); } public void show() { System.out.println("姓名:"+name+" 年龄:"+age+" 性别:"+sex); } } 1.4 类设计原则

成员变量(属性)私有化(用private修饰),添加get和set方法

公开方法(用public修饰)

第三节:static关键字

static关键字可以修饰类成员:修饰成员变量、方法、代码块、内部类等。

2.1 静态属性

所有本类对象所共有且相同的一个属性,是类的公用变量,不会随着对象的改变而改变的属性。例如:圆周率。静态属性先于对象,不依赖于对象,可以直接通过类名直接访问(类名.属性名)。

public class Person{ String name; int age; //人口总数 static int totalCount = 1300000000; } public class DemoPerson{ public static void main(String[]args){ System.out.println(Person.totalCount);//Person类中的totalCount属性是一个静态属性,可以直接通过类名访问 } } 2.2 静态方法

所有本类对象所共有且相同的一个公共方法,属于类方法,先于对象的方法,不依赖于对象,可以直接通过类名直接调用(类名.方法名())。

public class Person{ static int totalCount; public static void calcTotalCount(){ System.out.println("统计人口方法"); totalCount=1350000000; } } public class DemoPerson{ public static void main(String[]args){ Person.calcTotalCount(); } }

静态属性和方法使用原则:

​ 1如果这个变量或方法,不属于每个对象,属于整个类,就用静态

​ 2如果这个类是共用的,那么类中的属性和方法都用静态,一般工具类中的方法都是静态的,

​ 如Arrays.方法名()

使用注意事项

​ 1 静态方法中可以直接访问静态变量,不能直接访问非静态变量。

​ 2 非静态方法中可以直接访问静态变量和静态方法。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsspxp.html