java类与对象的最初理解
生活随笔
收集整理的這篇文章主要介紹了
java类与对象的最初理解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、面向對象編程的三個特性
1)封裝
面向對象編程核心思想之一就是將數據和對數據的操作封裝在一起。通過抽象從具體的實例中抽取共同的性質形成一般的概念,比如類的概念。
人們經常談到的機動車類就是從具體的實例中抽取共同的屬性和功能形成的一個概念,那么一個具體的轎車就是機動車類的一個實例,即對象。
一個對象將自己的數據和對這些數據的操作合理有效地封裝在一起,例如,每輛轎車調用“加速”、“減速”改變的都是自己的運行速度。
2)繼承
繼承體現了一種先進的承接歷史的編程模式。子類可以繼承父類的屬性和功能,即繼承了父類所具有的數據和對數據的操作,同時又可以增添子類獨有的數據和對數據的操作。
3)多態
多態是面向對象編程的又一重要特征。
有兩種意義的多態。
一種是操作名稱的多態,即有多個操作具有相同的名字,但這些操作所接收的參數類型必須不同。
另一種多態是和繼承有關的多態,是指同一個操作被不同類型對象調用時可能產生不同的行為。
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 { //包內可見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循環計算1+1/2!+1/3!+1/4!… … 的前10項和
package com.example;///Jisuanqi1 是for Jisuanqi2 是dowhile 同時輸出,結果一樣 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;} }總結
以上是生活随笔為你收集整理的java类与对象的最初理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 洛谷 题解 P1604 【B进制星球】
- 下一篇: mount(挂载)