java类与对象的最初理解
一、面向?qū)ο缶幊痰娜齻€特性
1)封裝
面向?qū)ο缶幊毯诵乃枷胫痪褪菍?shù)據(jù)和對數(shù)據(jù)的操作封裝在一起。通過抽象從具體的實例中抽取共同的性質(zhì)形成一般的概念,比如類的概念。
人們經(jīng)常談到的機(jī)動車類就是從具體的實例中抽取共同的屬性和功能形成的一個概念,那么一個具體的轎車就是機(jī)動車類的一個實例,即對象。
一個對象將自己的數(shù)據(jù)和對這些數(shù)據(jù)的操作合理有效地封裝在一起,例如,每輛轎車調(diào)用“加速”、“減速”改變的都是自己的運行速度。
2)繼承
繼承體現(xiàn)了一種先進(jìn)的承接歷史的編程模式。子類可以繼承父類的屬性和功能,即繼承了父類所具有的數(shù)據(jù)和對數(shù)據(jù)的操作,同時又可以增添子類獨有的數(shù)據(jù)和對數(shù)據(jù)的操作。
3)多態(tài)
多態(tài)是面向?qū)ο缶幊痰挠忠恢匾卣鳌?br /> 有兩種意義的多態(tài)。
一種是操作名稱的多態(tài),即有多個操作具有相同的名字,但這些操作所接收的參數(shù)類型必須不同。
另一種多態(tài)是和繼承有關(guān)的多態(tài),是指同一個操作被不同類型對象調(diào)用時可能產(chǎn)生不同的行為。
3.2封裝
也可以把另一個類放在同目錄下的其他文件里
加載形成兩個類,有psvm的為主類,運行主方法(psvm為主方法),用cmd運行時要運行“java --帶主方法的類—”
在主方法中可以 new主類
class Circle {double radius;double getARE(){double are=3.14*radius*radius;return are;}public static void main(String[] args) {Circle circle;circle=new Circle();System.out.println(circle.toString());///返回一個object字符串} } class ComputerCircleArea { //包內(nèi)可見public static void main(String args[]) {double radius; //半徑double area; //面積radius=100;area=3.14*radius *radius; //計算面積System.out.printf("半徑是%5.3f的圓的面積:\n%5.3f\n",radius,area);} } public class Circle2{double radius; //半徑double area; //面積private double getArea(){Circle2 c1; return 3.14*radius*radius;}public static void main(String sf[]) {Circle2 c;c=new Circle2(); //Objectc.radius=10;System.out.println(c.getArea()); //Circle2@15db9742} }class CircleTest{public static void main(String sf[]) {Circle2 c;c=new Circle2(); //Objectc.radius=10;System.out.println(c.getArea()); //Circle2@15db9742} }
例子
this
分別用do-while和for循環(huán)計算1+1/2!+1/3!+1/4!… … 的前10項和
package com.example;///Jisuanqi1 是for Jisuanqi2 是dowhile 同時輸出,結(jié)果一樣 public class javahello_2 {public static void main(String[] args) {Jisuanqi1 jisuanqi1=new Jisuanqi1();Jisuanqi2 jisuanqi2=new Jisuanqi2();double ans2=0,ans1=0;int n=10;for(int i=1;i<=n;i++){ans1+=1/jisuanqi1.jiecheng(i);///// System.out.println(jisuanqi1.jiecheng(i));///}int i=1;do {ans2+=1/jisuanqi2.jiecheng(i);/////System.out.println(jisuanqi2.jiecheng(i));///i++;}while (i<=n);System.out.println(ans1+" "+ans2);} }class Jisuanqi1{double a;double ans;double jiecheng(double a){一定要重新賦值this.a=a;this.ans=1;for(int i=1;i<=a;i++){ans*=i;}return ans;}} class Jisuanqi2{double a;double ans;int i;double jiecheng(double in){ans=1;i=1;a=in;do{ans*=i;i++;}while (i<=a);return ans;} }總結(jié)
以上是生活随笔為你收集整理的java类与对象的最初理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 洛谷 题解 P1604 【B进制星球】
- 下一篇: C#路径2