欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > 11.java面向对象

11.java面向对象

2025/11/3 6:01:27 来源:https://blog.csdn.net/annita2019/article/details/142303483  浏览:    关键词:11.java面向对象

java 面向对象

  • java 面向对象
    • 类的定义
      • 基本方法定义
      • 带有参数的方法
      • 方法的调用
      • 方法调用的特殊情况
    • 形参和实参
    • 值传递和引用传递
      • 值传递
      • 引用传递
    • 对象的创建

java 面向对象

类的定义

格式:修饰符 class 类名{}

// 创建类javademo01
public class javademo01 {}

基本方法定义

方法名:见名知意,注意规范,最好采用驼峰命名法。

下面实例中:

  • String是返回值的数据类型
  • void​是返回空

// 创建类javademo01
public class javademo01 {// main方法public static void main(String[] args) {}// 定义方法,String是返回值的数据类型public String sayHello() {return "hello,world"; // 结束会有分号}}

带有参数的方法

// 创建类javademo01
public class javademo01 {// main方法public static void main(String[] args) {}// 定义方法,String是返回值的数据类型public String sayHello() {return "hello,world"; // 结束会有分号}//带有参数的方法,比大小public int max(int a, int b) {return a > b ? a : b;    //三元运算符,a如果大则返回a,否则返回b}}

方法的调用

  • 静态方法,带有static,一般情况下使用,类名和方法名直接调用。
  • 非静态方法,不带static,必须先实例化对象再调用。

举例1:现在有两个类分别是Student和test01,在Student类中有两个方法,静态方法say,非静态方法sayHello,现在我们来调用他们。

Student

package demo01;public class Student {public static void say() {System.out.println("学生说话了!");}public void sayHello() {System.out.println("Hello,你好!");};}

test01

package demo01;public class test01 {public static void main(String[] args) {// 静态方法可以直接使用类名和方法名调用Student.say();//非静态方法的调用Student stu = new Student();stu.sayHello();}}

方法调用的特殊情况

特殊情况方法依赖和嵌套

情况1:a依赖b方法

    public static void a (){b();   }public static void b (){}

这种是可以的。因为都是静态方法

    public static void a (){b();}public void b (){}这个是不行的!!!!

不行的原因是:静态方法是和类一起被加载,但是非静态方法是随着对象被创建后才存在。这里没有实例化对象,所以这个是不行的

形参和实参

package demo01;public class test02 {public static void main(String[] args) {int add = test02.add(1,2);System.out.println(add);}public static int add(int a, int b) {return a + b;}}

值传递和引用传递

值传递

package demo01;
//传递值
public class test03 {public static void main(String[] args) {int a = 1;System.out.println(a);  //1test03.change(a);//虽然传递进去了,但是因为change没有返回值,所以还是1System.out.println(a);  //1}//返回值为空public static void change(int a) {a = 10;}
}

引用传递

引用传递:对象,本质还是值传递

package demo01;public class test04 {public static void main(String[] args) {Person person = new Person();System.out.println(person.name); //nulltest04.change(person);System.out.println(person.name); //刘德华}public static void change(Person person){//这里的person是一个对象person.name = "刘德华";}
}//定义一个Person类,有一个属性name
class Person{String name; //null
}

对象的创建

创建类

package demo01;public class Student{String name;int age;public void study() {System.out.println("我叫" + this.name + "我今年" + this.age + "岁了");}
}

创建对象

package demo01;public class test06 {public static void main(String[] args) {Student xm =new Student();xm.name = "小明";xm.age = 13;xm.study();		//我叫小明我今年13岁了}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词