沉湎于希望的人和守株待兔的樵夫没有什么两样
方法的调用 通过创建对象来调用:
package com.oracle.com.oracle.jdbc;
public class Test
{
public void addStu(Student stu)
{
System.out.println(stu.name+" "+stu.sex+" "+stu.age+" "+stu.id);
}
public static void main(String[] args)
{
Student student=new Student();//创建对象 调用方法
student.name= "节昊文";
student.sex="nan";
student.age=20;
student.id="370728200001246688";
Test test=new Test(); //创建对象
test.addStu(student);
}
}
作业:1.定义计算类 2.在计算类中 写四个普通方法 一个主方法 第一个方法 三个参数int a,int b,double c,在方法中实现相加 并把相加结果 返回到主方法打印 第二个方法 参数 float a,float b,方法中实现相乘 并把结果返回主方法打印 第三个方法 两个参数 相减 相减的结果返回到主方法打印 第四个方法 两个参数 相除 把结果返回到主方法打印
输入代码:
package com.oracle.jtxy;
public class JiSuan {
public double add(int a,int b,double c) //add 加
{
return a+b+c; //有返回值 public后为返回值类型 不能为空
}
public float mul(float a,float b) //multiply 乘
{
return a*b;
}
public double sub(float a,double b) //subtract 减
{
return a-b;
}
public double div(double a,double b) //divide 除
{
return a/b;
}
public static void main(String[] args) {
int a=2;
int b=3;
double c=5;
double d=7.8;
float e=1.2f;
float f=5.3f;
JiSuan jisuan=new JiSuan();//创建对象
double add=jisuan.add(a,b,c);
System.out.println(add);
float mul=jisuan.mul(e,f);
System.out.println(mul);
double sub=jisuan.sub(e,d);
System.out.println(sub);
double div=jisuan.div(c,d);
System.out.println(div);
}
//简洁版 简洁即高级
// public static void main(String[] args) {
// JiSuan jisuan=new JiSuan();//创建对象
// System.out.println(jisuan.add(2,3,7));
// System.out.println(jisuan.mul(4.5f,5.2f));
// System.out.println(jisuan.sub(3.4f,8));
// System.out.println(jisuan.div(5,2));
// }
}
运行结果:
【JAVA中方法的调用 - CSDN App】http://t.csdnimg.cn/13nBQ
竹根即使被埋在地下无人得见 也决然不会停止探索而力争冒出新笋
通过创建类实现方法调用 (当类中的参数是公共的时):
首先创建一个类:
package com.oracle.com.oracle.jdbc;
public class Dog
{
public String colour;
public String weight;
public int age;
}
然后创建一个Test类:
package com.oracle.com.oracle.jdbc;
public class Test8 {
public void AddDog(Dog d)
{
System.out.println("这只狗的颜色是"+d.colour+"的 它重"+d.weight+"斤 它今年"+d.age+"岁了");
}
public static void main(String[] args) {
Dog dog=new Dog();
dog.colour="绿色";
dog.weight="23";
dog.age=10;
Test8 test8=new Test8();
test8.AddDog(dog);
}
}
运行结果:
当类中的参数是私有的时:使用get和set:
package com.oracle.com.oracle.jdbc;
//Test1
public class LouFang
{
private String name;
private String area;
private int price;
public void setName(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
public void setArea(String area)
{
this.area=area;
}
public String getArea()
{
return area;
}
public void setPrice(int price)
{
this.price=price;
}
public int getPrice()
{
return price;
}
}
这是在主方法当中定义参数:
package com.oracle.com.oracle.jdbc;
public class Test1
{
public void addLou(LouFang L)
{
System.out.println("楼房的名字为"+L.getName()+" 大小为"+L.getArea()+"平方 每平方的价格是"+L.getPrice()+"元");
}
public static void main(String[] args)
{
LouFang loufang=new LouFang();
loufang.setName("节总的传销窝点");
loufang.setArea(100);
loufang.setPrice(10000);
Test1 test1=new Test1();
test1.addLou(loufang);
}
}
运行结果:
当参数定义在其他方法当中:
package com.oracle.com.oracle.jdbc;
public class Television
{
private String brand; //brand 品牌
private String size;
private int price;
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getSize() {
return size;
}
public void setSize(String size) {
this.size = size;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
package com.oracle.com.oracle.jdbc;
public class Test4 {
public void AddTel()
{
Television t=new Television();
t.setBrand("海信");
t.setSize("50寸 ");
t.setPrice(5200);
System.out.println("这是"+t.getBrand()+"牌的电视 "+"它有"+t.getSize()+"花了我"+t.getPrice()+"元");
}
public static void main(String[] args) {
Test4 test4=new Test4();
test4.AddTel();
}
}
运行结果:
【为什么要用Getters/Setters方法 - CSDN App】http://t.csdnimg.cn/7tysM
没有风浪 便没有勇敢的弄潮儿 没有荆棘 也没有不屈的开拓者
第二次课中通过创建类传递参数 并通过创建类的对象调用
当参数过多时 可以用创建类的方法传递
那么 当类的对象过多时 该怎么调用 用ArrayList
以LouFang为例:
package com.oracle.com.oracle.jdbc;
//Test1
public class LouFang
{
private String name;
private String area;
private int price;
public void setName(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
public void setArea(String area)
{
this.area=area;
}
public String getArea()
{
return area;
}
public void setPrice(int price)
{
this.price=price;
}
public int getPrice()
{
return price;
}
}
当Loufang类的对象有两个时:
package com.oracle.com.oracle.jdbc;
//返回对象 返回一个 返回很多个 用arraylist数组实现
import com.oracle.com.oracle.jdbc.LouFang;
import java.util.ArrayList;
import java.util.List;
public class Test1 {
//public ArrayList<LouFang> getLou()
//导入一下类
public ArrayList<LouFang> getLou() //public List<LouFang> getLou()
{
//存在父子关系 就可以用父类名代替子类
//List<LouFang> list = new ArrayList<>();
ArrayList<LouFang> list = new ArrayList<>(); //数组
LouFang loufang1 = new LouFang();
loufang1.setName("节总的传销窝点");
loufang1.setArea("66");
loufang1.setPrice(99);
list.add(loufang1);
LouFang loufang2 = new LouFang();
loufang2.setName("水云间");
loufang2.setArea("88");
loufang2.setPrice(88);
list.add(loufang2);
return list;
}
public static void main(String[] args) {
Test1 test1=new Test1();
List<LouFang> loufang=test1.getLou();
LouFang l1= loufang.get(0);
System.out.println(l1.getName()+" "+l1.getArea()+" "+l1.getPrice());
LouFang l2= loufang.get(1);
System.out.println(l2.getName()+" "+l2.getArea()+" "+l2.getPrice());
}
}
输出结果:
那么 当类的对象有很多个时 需要一个一个输出 太过麻烦 此时可以用一个for循环来实现
package com.oracle.com.oracle.jdbc;
//返回对象 返回一个 返回很多个 用arraylist数组实现
import com.oracle.com.oracle.jdbc.LouFang;
import java.util.ArrayList;
import java.util.List;
public class Test1 {
//public ArrayList<LouFang> getLou()
//导入一下类
public ArrayList<LouFang> getLou() //public List<LouFang> getLou()
{
//存在父子关系 就可以用父类名代替子类
//List<LouFang> list = new ArrayList<>();
ArrayList<LouFang> list = new ArrayList<>(); //数组
LouFang loufang1 = new LouFang();
loufang1.setName("节总的传销窝点");
loufang1.setArea("66");
loufang1.setPrice(99);
list.add(loufang1);
LouFang loufang2 = new LouFang();
loufang2.setName("水云间");
loufang2.setArea("88");
loufang2.setPrice(88);
list.add(loufang2);
LouFang loufang3 = new LouFang();
loufang3.setName("忘忧阁");
loufang3.setArea("520");
loufang3.setPrice(1314);
list.add(loufang3);
return list;
}
public static void main(String[] args) {
Test1 test1=new Test1();
List<LouFang> loufang=test1.getLou();
for(int i=0;i<loufang.size();i++)
{
LouFang l= loufang.get(i);
System.out.println(l.getName()+" "+l.getArea()+" "+l.getPrice());
}
}
}
运行结果:
如果缺少破土面出并与风雪拚搏的勇气 种子的前途并不比落叶美妙一分
如何创建一个接口:
输入代码:
package com.oracle.com.oracle.jdbc;
//接口中的方法 只有声明 没有实现
//提供规范 产生子类
//为什么要有接口 源代码很难获得 要想使用 需要接口 接口只有声明 客户就是通过接口来实现类
public interface StuDao {
public int add(int a,int b);
}
【Java之implements - CSDN App】http://t.csdnimg.cn/onPmR
创建一个类来实现这个接口:
package com.oracle.com.oracle.jdbc;
public class StuDaoImp implements StuDao{
@Override
public int add(int a,int b)
{
System.out.println("节昊文");
return a+b;
}
}
package com.oracle.com.oracle.jdbc;
public class TestImp {
public static void main(String[] args) {
//类 对象名 = new 类 创建对象
//类存在父子关系 就可以用父类名代替子类
//也可以写接口 如果这个类实现了这个接口 用接口名也是可以的
//StuDaoImp studaoimp=new StuDaoImp();
StuDao studaoimp=new StuDaoImp();
int ass=studaoimp.add(205,315);
System.out.println(ass);
}
}
运行结果:
泉水 奋斗之路越曲折 心灵越纯洁