*/
- 类的成员:
- 1.属性又叫成员变量又叫全局变量又叫Field
- 2.方法又叫成员方法又叫Method又叫函数
/*
package com.zy.java1;
public class Person {
//属性
String sex;
private int age;
String name;
//方法
public void setage(int a){
if(a>0&&a<=130){
age=a;
}else{
System.out.println("输入错误");
}
}
public int getage(){
return age;
}
void eat() {
System.out.println("eating...");
}
void drink(){
System.out.println("drinking...");
}
}
对象也叫类的实例,使用关键字new 构造器(…)的方式
使用对象.属性名的方式可以获取属性值
使用对象名.方法名的方式来调用方法
但是一般不用对象.属性名的方式获取属性值
一般用getset方法获取。
下一次详细说明为什么用setget方法获取,超详细
package com.zy.java1;
import java.util.Random;
public class PersonTest {
public static void main(String[] args) {
Random r=new Random();
int a=r.nextInt(64);
System.out.println(a);
method1();
}
public static void method1() {
//对象也叫类的实例,使用关键字new 构造器(...)的方式
Person p1=new Person();
p1.setage(50);
System.out.println(p1.getage());
/*System.out.println(p1.toString());
System.out.println(p1.age);//使用对象.属性名的方式可以获取属性值
System.out.println(p1.sex);
p1.eat();//使用对象名.方法名的方式来调用方法
p1.age=1;
p1.sex="女";
Person p2=new Person();
p2.age=10;
p2.sex="男";
System.out.println(p1.age);//1
p1=p2;
System.out.println(p1.age);//10
p1.age=100;
System.out.println(p2.age);//100
p1=new Person();
System.out.println(p2.age);//100
System.out.println(p1.age);//0
*/
}
}
方法
1.参数,2,返回值
1).void 方法无返回值 2).有返回值的方法用return返回值,3).根据参数有无分为无参和有参的方法
4).特殊的构造方法
1.java里方法的参数传递的方式只有一种:值传递
2.如果参数为基本数据类型,传递的数值,如果为引用数据类型,传地址值
下面三个方法
// void 方法无返回值
// 交换两个数
public static void swap(int a, int b) {
int temp = a;
a = b;
b = temp;
}
// 数组的逆序
// 引用类型数组,传递地址值,
public static void reverse(int[] arr) {
for (int begin = 0, end = arr.length - 1; begin < end; begin++, end--) {
int temp = arr[begin];
arr[begin] = arr[end];
arr[end] = temp;
}
}
// 计算两个int类型数值的和
// 参数:int ,int
// 返回值:int
public static int add(int a, int b) {
int c = a + b;
return c;
}
方法的重载
方法的重载:overload
在同一个类中,可以存在多个同名的方法,方法的参数必须不同
(参数的个数或参数的类型{参数顺序}不同)与返回值无关
public class MethodTest3 {
public static void main(String[] args) {
System.out.println(1);
System.out.println("1");
add(1,1);
}
public static int add(int a,int b){
return a+b;
}
public int add(int a,int b ,int c){
return a+b+c;
}
/* public String add(int a,int b){
return a+b;
}*/
public int add(int a,String b ,int c){
int d=a+Integer.parseInt(b)+c;//强制类型转换
return d;
}
public int add(int a, int c, String b){
int d=a+Integer.parseInt(b)+c;//强制类型转换
return d;
}
}