目录
一、方法
1、定义方法
public static 返回值类型 方法名(形参列表){ 执行语句 return语句 }
(1)编写顺序无所谓,方法与方法之间是平级关系,不能嵌套定义
(2)值传递:传递的是数据值,不是变量本身(数组传的是地址值)
public class Method {
public static void main(String[] args) {
System.out.println(add(1,2));
}
public static int add(int a,int b){
return a + b;
}
}
2、方法重载
同一个类中,多个方法名相同,但是形参列表不同,称为重载方法
public class Method {
public static void main(String[] args) {
System.out.println(add(1,2));
System.out.println(add(1,2,3));
}
public static int add(int a,int b){
return a + b;
}
public static int add(int a,int b,int c){
return a + b + c;
}
}
二、对象
1、设计类
public修饰的的类名必须为代码文件名
成员变量可以初始化,不初始化一般为默认值
class 类名{
1,成员变量(代表属性,一般是名词)
2,成员方法(代表行为,一般是动词)
3,构造器
4,代码块
5,内部类
}
(1)同一个java文件定义多个class类(只能有一个public修饰)
public class ObjectOriented {
}
class Class {
int n;
public void abc(){
System.out.println(n);
}
}
(2)每一个java文件定义一个class类
public class ObjectOriented {
}
public class Class {
int n;
public void abc(){
System.out.println(n);
}
}
2、创建对象
类名 对象名 = new 类名();
变量c中存储的是对象在堆内存中的地址
public class ObjectOriented {
public static void main(String[] args) {
Class c = new Class();
}
}
class Class {
int n;
public void abc(){ //此方法不写static
System.out.println(n);
}
}
3、构造器
修饰符 类名(形参列表){ }
定义在类中,可以用于初始化一个类的对象,并返回对象的地址
(1)无参数构造器:默认存在,初始化对象时,成员变量的数据均采用默认值
class Class {
int n;
public Class(){
}
}
(2)有参数构造器:在初始化对象的时候,同时可以接受参数为对象进行赋值
class Class {
int n;
public Class(int m){
n=m;
}
}
4、调用构造器
类名 变量名称 = new 构造器;
public class ObjectOriented {
public static void main(String[] args) {
Class c1 = new Class();
Class c2 = new Class(1);
System.out.println(c1.n);
System.out.println(c2.n);
}
}
class Class {
int n;
public Class(){
}
public Class(int m){
n=m;
}
}
5、this
(1)出现在构造器,方法中,代表当前对象的地址
public class ObjectOriented {
public static void main(String[] args) {
This t = new This();
}
}
class This {
int n;
public This(){
System.out.println("无参构造器中的:"+this);
}
}
public class ObjectOriented {
public static void main(String[] args) {
This t = new This(4);
}
}
class This {
int n;
public This(){
System.out.println("无参构造器中的:"+this);
}
public This(int n){
System.out.println("有参构造器中的:"+this);
this.n=n;
}
}
public class ObjectOriented {
public static void main(String[] args) {
This t = new This();
t.run(8);
}
}
class This {
int n;
public void run(int n){
System.out.println("方法中的:"+this);
}
}
(2)可以用于指定访问当前对象的成员变量
public class ObjectOriented {
public static void main(String[] args) {
This t = new This(1);
System.out.println(t.n);
}
}
class This {
int n;
public This(){
}
public This(int n){
this.n=n;
}
}
(3)可以用于指定访问当前对象的成员方法
public class ObjectOriented {
public static void main(String[] args) {
This t = new This();
t.run(1);
}
}
class This {
int n;
public void run(int n){
System.out.println(n+" "+this.n);
}
}