java基础2(43页).doc
《java基础2(43页).doc》由会员分享,可在线阅读,更多相关《java基础2(43页).doc(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-Java基础二1、方法:修饰符 返回值类型 方法的名称(形参列表);方法体Test5.javapublic class Test5public static void main(String args)/ 求(1,1000)区间内的偶数和。printSum(1,100);printSum(1,10000);printSum(25,500);static void printSum(int start,int end)int sum = 0;for(int i=start;iend;i+)if(i%2=0)sum+=i;/sum = sum + i;System.out.println(sum
2、(+start+,+end+)=+sum);注意:该方法是直接将求得的结果直接进行显示输出。有时候是这样的,调用者,求的结果之后,对结果可能有不同的操作。这时我们上面的程序就无法满足了。上面的方法是不需要返回值的,但是方法定义时需要返回值的类型,我们返回什么呢?返回void,void在java中就是上面都不返回,只是为了满足方法的定义。Test5.javapublic class Test5public static void main(String args)/ 求(1,1000)区间内的偶数和。printSum(1,100);printSum(1,10000);printSum(25,50
3、0);int sum = getSum(300,500);System.out.println(sum);System.out.println(sum%3)=0);static int getSum(int start , int end)int sum = 0;for(int i=start;iend;i+)if(i%2=0)sum+=i;return sum;当方法返回值不是void时,就需要借助return关键字进行数据的返回。2、方法的调用:1)非静态方法:Test6.javapublic class Test6public static void main(String args)s
4、how(12);int show(int value)System.out.println(value=+value); 在静态的方法的上面文环境中无法掉用非静态方法。怎么样才能调用呢个?-| 将非静态方法改为静态方法。-| 通过对象来访问方法:Test6.javapublic class Test6public static void main(String args)Test6 t6 = new Test6();t6.show(12);int show(int value)System.out.println(value=+value);return value+10; 2)静态方法的调用
5、:1) 如果两个静态方法在同一个类的内部,一个调用两一个,可以直接写方法的名字。2) 如果两个方法不在同一个类的内部,需要类名加“。”加方法名来访问。public class Test6public static void main(String args)Test6 t6 = new Test6();t6.show(12);print();Test6.print();int show(int value)System.out.println(value=+value);return value+10; static void print()System.out.print(哈哈,我是好人。)
6、;3、属性的默认初始化:数值型默认为0,boolean默认为false,字符型默认为“ ”,引用型默认为null。Person.javapublic class PersonString name;String sex;int age;String address;public static void main(String args)/new Person(李向武).eat(new Baozi();Person p;p = new Person(); System.out.println(p.age);/oSystem.out.println(p.name);/null4、封装:1)将一段业
7、务逻辑,即功能、算法;通过方法来实现,叫封装;2)将具有相同功能和属性的一类事物通过class关键字定义到之间叫封装;3)在描述一类事物时:将其属性私有化(private修饰),通过相应的getter、setter方法对属性进行读写操作,就叫封装,这样做是安全的。Person.javapublic class Personprivate String name;private String sex;private int age;private String address;/setterpublic void setName(String n)name = n;public void set
8、Sex(String s)sex = s;public void setAge(int a)age = a;public void setAddress(String ar)address = ar;/getterpublic String getName()retrun name;public String getSex()return sex;public int getAge()return age;public String getAddress()return address;5、类、对象、类和对象之间的关系1)类:就是一种抽象的概念,如何来抽象的?具有相同功能和相同属性的一类事物。
9、类是对象的集合。2)对象(就是具体事物):对象的构建应该以类为模板来定义。也就是实例化。对象就是类的一个具体的体现。3)类和对象的关系:类是对象的抽象,是对象的集合;对象是类的一个具体体现,也就是一个具体实例,也就是类中的一个子集。对象必须以类为模板来构建(实例化)。6、无参的构造方法:构造方法的方法名要类名完全一样,不需要返回值类型。Person.javapublic class Personprivate String name;private String sex;private int age;private String address;/setterpublic void setN
10、ame(String n)name = n;public void setSex(String s)sex = s;public void setAge(int a)age = a;public void setAddress(String ar)address = ar;/getterpublic String getName()return name;public String getSex()return sex;public int getAge()return age;public String getAddress()return address;public static voi
11、d main(String args)/调用构造方法就是实例化对象,Person whz = null;/whz = new Person(王忠豪,男,23,湖南邵阳);whz = new Person();编译:javac Person.java会生成一个class:在Person.class文件里。因为Person.class是字节码文件,我们编程人员无法正常识别。但是我们可以借助java的反编译工具:javap.exe来反编译Person.class中的Person类。反编译Person类:javap Person通过反编译的结果和我们自己编写的源程序进行对比,得出java的虚拟机会自动
12、给我们的类添加一个无参的构造方法(当我们没有写构造方法时)。Person.javapublic class Personprivate String name;private String sex;private int age;private String address;/setterpublic void setName(String n)name = n;public void setSex(String s)sex = s;public void setAge(int a)age = a;public void setAddress(String ar)address = ar;/g
13、etterpublic String getName()return name;public String getSex()return sex;public int getAge()return age;public String getAddress()return address;public Person(String n,String s,int a, String ar)name = n;sex = s;age = a;address = ar;public void eat(Baozi bz)System.out.println(name+在吃+bz+,他今年+age+岁!);p
14、ublic static void main(String args)/调用构造方法就是实例化对象,Person whz = null;whz = new Person(王忠豪,男,23,湖南邵阳);/new Person();/报错了。编译:javac Person.java会生成一个Person类,保存在Person.class的文件中。反编译Person类:javap Person通过反编译的结果和我们自己编写的源文件进行比较,得出:当我们自己受到写了构造方法时,系统不再会给我们的类添加无参的构造方法了。也就意味着,编译器在编译源文件时,是先检查该文件是否有构造方法,如果有,虚拟机就不会
15、给添加构造方法,如果没有才添加构造方法,且这个添加的构造方法是没有参数,没有方法的具体实现的。7、方法的重载,动态绑定。Test.javaclass Teststatic int addIntWithInt(int a, int b)int result = 0;result = a + b;return result;static float addIntWithFloat(int a, float b)float result = 0.0f;result = a + b;return result;static double addDoubleWithDouble(double a, do
16、uble b)double result = 0.0;result = a + b;return result;public static void main(String args)System.out.println(addIntWithInt(1,2);System.out.println(addIntWithFloat(1,3.0f); 通过上面的程序得出:方法的可读性虽然很高,但只是针对我们编程人员来说罢了。因为方法的名字里有很多专业术语,非专业人员无法正常使用以上方法。所以不好,就像计算器一样,加运算永远只有一个“+”操作,没有多个,这个使用会很简便。Test.javaclass
17、Teststatic int add(int a, int b)int result = 0;result = a + b;return result;static float add(int a, float b)float result = 0.0f;result = a + b;return result;static double add(double a, double b)double result = 0.0;result = a + b;return result;public static void main(String args)System.out.println(ad
18、d(1,2);System.out.println(add(1,3.0f);System.out.println(add(1.1,3.0); 通过上面的程序:在一个类的内部可以有相同名字的方法存在。Test.javaclass Teststatic int add(int a, int b)int result = 0;result = a + b;return result;static float add(int a, float b)float result = 0.0f;result = a + b;return result;static float add(float a, int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 基础 43
限制150内