Java零基础学习(构造方法 面对对象的练习 static Math随机数)
Java零基础学习(构造方法 面对对象的练习 static Math随机数)
面对对象
-
构造方法概述和格式
1.构造方法的概述和作用 创建对象,给对象的成员进行初始化 2.构造方法的格式和特点 a.方法名与类名相同 b.没有返回值类型,连void都没有 c.没有具体的返回值 例如: 在Animal类中构造方法 public Animal(){ }-
构造方法的重载及注意事项
1.构造方法的重载 class Animal{ String name; public Animal(){ System.out.println("aa"); } public Animal(int a){ System.out.println(a); } public void run(){ System.out.println(name+"可以跑步"); } public static void eat(){ System.out.println("吃饭"); } } 2.构造方法的注意事项 a.如果我们没有给出构造方法,系统将默认给出一个无参的构造方法。 b.如果我们给出了有参的构造方法,系统将不再提供默认的无参构造方法。 如果我们还想使用无参的构造方法,就必须自己给出,建议永远自己给出。 3.给成员变量赋值的两种方式 a.setXxx()方法 上一次说过这个方法 b.构造方法 public class Test1 { public static void main(String[] args) { Animal animal = new Animal(3,"大黄"); } } class Animal{ private String name; private int age; public Animal(int age,String name){ System.out.println(name+"==="+age); } } -
-
创建对象的步骤
步骤: (1):加载Student.class文件进内存 (2):在栈内存为s开辟空间 (3):在堆内存为学生对象开辟空间 (4):对学生对象的成员变量进行默认初始化 (5):对学生对象的成员变量进行显示初始化 (6):通过构造方法对学生对象的成员变量赋值 (7):学生对象初始化完毕,把对象地址赋值给s变量-
长方形案例练习
需求: 定义一个长方形(Rectangle)类,定义求周长(length)和面积(area)的方法, 然后定义一个测试类Test,进行测试。 public class Rectangle { int a; int b; public Rectangle(){ } public int length(int a,int b){ int length=2*(a+b); return length; } public int area(int a,int b){ int area=a*b; return area; } public Rectangle(int a,int b){ System.out.println("长方形的周长是"+(2*(a+b))+"长方形的面积是"+(a*b)); } } public class Test { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入长方形的长和宽"); int a=sc.nextInt(); int b=sc.nextInt(); Rectangle re=new Rectangle(); int area=re.area(a,b); int length=re.length(a,b); System.out.println("长方形的周长是"+length); System.out.println("长方形的面积是"+area); new Rectangle(a,b); } } -
-
static关键字的引入
static关键字的特点 a:随着类的加载而加载 b:优先于对象存在 c:被类的所有对象共享 举例:咱们班级的学生应该共用同一个班级编号。 其实这个特点也是在告诉我们什么时候使用静态? 如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的。 举例: 饮水机(用静态修饰) 水杯(不能用静态修饰) d:可以通过类名调用 其实它本身也可以通过对象名调用。 推荐使用类名调用。 静态修饰的内容一般我们称其为:与类相关的,类成员 举例: public class Person { public Person(){ System.out.println("无参构造"); } public static void A(){ System.out.println("静态方法"); } public void B(){ System.out.println("非静态方法"); } } public class Test { public static void main(String[] args) { Person p=new Person(); p.B(); Person.A(); } } 静态方法可以用类名直接调用。-
static内存图解
![]()
-
static的注意事项
static的注意事项 a:在静态方法中是没有this关键字的 如何理解呢? 静态是随着类的加载而加载,this是随着对象的创建而存在。 静态比对象先存在。 b:静态方法只能访问静态的成员变量和静态的成员方法 简单记:静态只能访问静态,非静态可以访问静态的也可以访问非静态的-
静态变量和成员变量的区别
1.所属不同 静态变量属于类,所以也称为类变量 成员变量属于对象,所以也称为实例变量(对象变量) 2.内存中位置不同 静态变量存储于方法区的静态区,JDK1.7之后静态变量存储在堆内存中 成员变量存储于堆内存 3.内存出现时间不同 静态变量随着类的加载而加载,随着类的消失而消失 成员变量随着对象的创建而存在,随着对象的消失而消失 4.调用不同 静态变量可以通过类名调用,也可以通过对象调用,推荐使用类名调用 成员变量只能通过对象名调用 -
-
如何使用JDK提供的帮助文档
1.找到文档,打开文档
2.点击显示,找到索引,出现输入框
3.你应该知道你找谁?举例:Scanner
4.看这个类的结构(需不需要导包)
java.lang包下的内容不需要我们手动导入
其它包下的内容需要我们手动导入
类 API文档
成员变量 字段摘要
构造方法 构造方法摘要
成员方法 方法摘要
5.看这个类的说明(简单的了解一下)
6.看开始版本
7.看构造方法
8.看成员方法
看左边:
是否是static的,如果是我们就不需要创建对象,直接可以使用类名调用该方法;看返回值,返回值是什么我就使用什么接收
看右边:
看参数列表: 参数的个数 , 参数的类型 ; 要什么参数我是用的时候,就传递什么参数
9.然后使用
-
学习Math类的随机数功能
打开JDK提供的帮助文档学习 1.Math类概述 类包含用于执行基本数学运算的方法 2.Math类特点 由于Math类在java.lang包下,所以不需要导包。 没有构造方法,因为它的成员全部是静态的。 3.获取随机数的方法 public static double random():返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。 4.我要获取一个1-100之间的随机数,肿么办? int number = (int)(Math.random()*100)+1;-
猜数字小游戏
猜数字小游戏(数据在1-100之间) package homework.day8; import java.util.Scanner; public class GuessNumber { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int number=(int)(Math.random()*100); System.out.println("请输入你猜的数字"); for (int i=1;i<=5;i++){ int a=sc.nextInt(); if(a>number){ System.out.println("你猜大了"); }else if(a<number){ System.out.println("你猜小了"); }else{ System.out.println("恭喜你!猜对了"); break; } if(i<=4){ System.out.println("你还有"+(5-i)+"次机会"); }else{ System.out.println("你的机会已经用完"); } } } }总结
今天我们学习了构造方法 面对对象的练习 static Math随机数,这些都是很重要的概念,希望大家一定要记住,多敲多练
-


浙公网安备 33010602011771号