本文共 6168 字,大约阅读时间需要 20 分钟。
Java语言在方法调用时采用传值的方式进行参数传递。具体来说:
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); }} 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); }} Java具有三大特征:封装性、继承性和多态性。封装性的主要作用是隐藏对象的实现细节。
为了实现封装性:
get和set方法。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 showInfo() { System.out.println("姓名:" + name + " 年龄:" + age + " 性别:" + sex); }} static关键字用于修饰类成员,包括成员变量、方法和代码块。
静态属性属于类,而不是单个对象,所有对象共享同一个值。
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); }} 静态方法属于类,可以通过类名直接调用。
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(); }} 静态导入允许导入某类的静态成员。
import static java.lang.System.out;import static java.lang.Integer.*;public class Demo { public static void main(String[] args) { out.println(MAX_VALUE); out.println(toHexString(36)); }} 继承是指一个子类在继承基类的基础上,增添新的功能或属性。
public class FatherClass {}public class ChildClass extends FatherClass {} public class Person { String name; int age; String birthday; public void showInfo() { System.out.println("姓名:" + name + " 年龄:" + age + " 出生日期:" + birthday); }}public class Student extends Person { String school; public void study() { System.out.println(name + "好好学习天天向上"); }} 方法重写是指在继承过程中,子类对父类方法进行完善或重新实现。
public class Animal { String nickname; String color; String strain; public Animal() { System.out.println("父类Animal的构造方法执行了.........."); } public Animal(String nickname, String color, String strain) { this.nickname = nickname; this.color = color; this.strain = strain; } public void print() { System.out.println("本动物昵称:" + nickname + " 颜色:" + color + " 品种:" + strain); }}public class Dog extends Animal { int love; public Dog() { super(); System.out.println("Dog子类的构造方法执行了"); } public Dog(String nickname, String color, String strain, int love) { super(nickname, color, strain); this.love = love; } public void lookHome() { System.out.println(nickname + "正在给主人看家..........."); } public String printInfo() { System.out.println("狗狗信息:昵称:" + super.naming + " 颜色:" + super.color + " 品种:" + super.strain + " 亲密度:" + this.love); return "haha"; }} 包用于管理类和接口,避免命名冲突。
com.baidu.oa 或 com.alibaba.pay。| 权限级别 | 同类 | 同包子类 | 不同包子类 | 不同包类 |
|---|---|---|---|---|
| public | 是 | 是 | 是 | 否 |
| protected | 是 | 是 | 否 | 否 |
| default | 是 | 否 | 否 | 否 |
| private | 否 | 否 | 否 | 否 |
package a;public class Person { public String name; protected int age; char sex; private double sal; public Person(String name, int age, char sex, double sal) { this.name = name; this.age = age; this.sex = sex; this.sal = sal; } public static void main(String[] args) { Person p = new Person("张三", 12, 'm', 5000); System.out.println(p.name); System.out.println(p.age); System.out.println(p.sex); System.out.println(p.sal); }} public class Animal { String nickname; String color; String strain; public Animal() { System.out.println("父类Animal的构造方法执行了.........."); } public Animal(String nickname, String color, String strain) { this(nickname, color, strain); } public void print() { System.out.println("本动物昵称:" + nickname + " 颜色:" + color + " 品种:" + strain); }}public class Dog extends Animal { int love; public Dog() { super(); System.out.println("Dog子类的构造方法执行了"); } public Dog(String nickname, String color, String strain, int love) { super(nickname, color, strain); this.love = love; } public void lookHome() { System.out.println("狗狗正在给主人看家..........."); } public String printInfo() { System.out.println("狗狗信息:昵称:" + super.naming + " 颜色:" + super.color + " 品种:" + super.strain + " 亲密度:" + this.love); return "haha"; }} 转载地址:http://olwfz.baihongyu.com/