《Java 面向对象编程》 内容由浅入深,紧密结合实际,利用大量典型实例,详细讲解Java面向对象的编程思想、编程语法和设计模式,介绍常见Java类库的用法,总结Java编程的各种经验,深入阐述Java虚拟机执行程序的原理。书中实例均基于最新的JDK 1.5版本。全书内容包括面向对象的编程思想、Java语言的基础知识、异常处理、类与对象的生命周期、多线程、Java集合、输入/输出和GUI编程等。其最大特色是以六条主线贯穿全书:面向对象编程思想、Java语言的语法、Java虚拟机执行Java程序的原理、在实际项目中的运用、设计模式和性能优化技巧。
⑵ 解释下Java 面向对象编程
网络很快的……
java的面向对象:java最基本的特征之一。对象是java最基本的封装单位,要求编程时候将对象概括为类,类封装对象的一些操作和数据。然后运用时候再将类实例化为对象
对象被称作类的一个实例(Instance),而类是对象的模 版(Template) 类是多个实例的综合抽象,而实例又是类的个体实物。 由于对象是类的实例,因此在定义对象之前应先定义类。定义了类之后,才 可以在类的基础上创建对象。
⑶ Java面向对象程序设计实验
红线标识位置是库名而不是表名。
如果有帮助到你,请点击采纳。
⑷ java面向对象编程求帮忙
一共三个类:ScoreArray.java、StudentScoreArray.java和Test1.java,具体为:
public class ScoreArray {
private int[] scores;
private int scoreCount;
public int[] getScores() {
return scores;
}
public int getScoreCount() {
return scoreCount;
}
//构造函数
public ScoreArray(int[] scores) {
this.scores = scores;
for (int score : scores) {
if (score >= 0 && score <= 100) {
this.scoreCount++;
}
}
}
//求最大值
public int getMax() {
int[] scores = this.scores;
int temp;
for (int i = 0; i < scores.length; i++) {
for (int j = 0; j < scores.length - 1 - i; j++) {
if (scores[j] > scores[j + 1]) {
temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
return scores[scores.length - 1];
}
//求最小值
public int getMin() {
int[] scores = this.scores;
int temp;
for (int i = 0; i < scores.length; i++) {
for (int j = 0; j < scores.length - 1 - i; j++) {
if (scores[j] > scores[j + 1]) {
temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
return scores[0];
}
//求均值
public double getAvg() {
int sum = 0;
for (int score : this.scores) {
sum += score;
}
return new BigDecimal(sum).divide(
new BigDecimal(this.scores.length),
2, BigDecimal.ROUND_HALF_UP).doubleValue();
}
//排序
public void sort() {
int temp;
for (int i = 0; i < this.scores.length; i++) {
for (int j = 0; j < this.scores.length - 1 - i; j++) {
if (this.scores[j] > this.scores[j + 1]) {
temp = this.scores[j];
this.scores[j] = this.scores[j + 1];
this.scores[j + 1] = temp;
}
}
}
}
//静态说明类
public static void explain() {
System.out.println("本类[ScoreArray]实现了数组的:求最值[getMax()]、求均值[getAvg()]和排序[sort()]方法");
}
}
public class StudentScoreArray extends ScoreArray {
public StudentScoreArray(int[] scores) {
super(scores);
}
//统计
public void statistic() {
super.sort();
Map<Integer, Integer> map = new LinkedHashMap<>();
for (int i : super.getScores()) {
if (map.containsKey(i)) {
map.put(i, map.get(i) + 1);
} else {
map.put(i, 1);
}
}
map.forEach((k, v) -> System.out.println("分数为[" + k + "]的人数为:[" + v + "]"));
}
//静态说明类
public static void explain() {
System.out.println("本类[StudentScoreArray]实现了数组的:求最值[getMax()]、求均值[getAvg()]、排序[sort()]和分布统计[statistic()]方法");
}
}
public class Test1 {
public static void main(String[] args) {
int[] scores = {59, 60, 82, 58, 71, 99, 0, 59, 65};
ScoreArray scoreArray = new ScoreArray(scores);
ScoreArray.explain();
System.out.print("数组内容:[");
for (int i : scoreArray.getScores()) {
System.out.print(i + " ");
}
System.out.println("]");
System.out.println("有效值个数:" + scoreArray.getScoreCount());
System.out.println("最大值:" + scoreArray.getMax());
System.out.println("最小值:" + scoreArray.getMin());
System.out.println("平均值:" + scoreArray.getAvg());
scoreArray.sort();
System.out.print("排序后数组内容:[");
for (int i : scoreArray.getScores()) {
System.out.print(i + " ");
}
System.out.println("]");
System.out.println("");
System.out.println("========华丽的分割线========");
System.out.println("");
StudentScoreArray studentScoreArray = new StudentScoreArray(scores);
StudentScoreArray.explain();
System.out.print("数组内容:[");
for (int i : studentScoreArray.getScores()) {
System.out.print(i + ",");
}
System.out.println("]");
System.out.println("有效值个数:" + studentScoreArray.getScoreCount());
System.out.println("最大值:" + studentScoreArray.getMax());
System.out.println("最小值:" + studentScoreArray.getMin());
System.out.println("平均值:" + studentScoreArray.getAvg());
studentScoreArray.sort();
System.out.print("排序后数组内容:[");
for (int i : studentScoreArray.getScores()) {
System.out.print(i + " ");
}
System.out.println("]");
System.out.println("分数分布统计:");
studentScoreArray.statistic();
}
}
其中对StudentScoreArray类我要特别说明一下:
统计分布情况时,使用了Map,map是一种key-value的数据结构,其有个特点被我所利用:一个map中只能同时存在一个key,所以我以分数为key,以数量为value,遍历分数数组时,如果是第一次遇到这个key(分数),则将其value(数量)置为1;如果已经不是第一次遇见了,则将其value(数量)置为value + 1(数量 + 1)。另外需要遍历这个map实现统计结果的打印,我这里使用了java8以后才支持的Lambda表达式,所以你要运行这个程序必须要使用jdk1.8以上的版本。如果你觉得这样不妥,可以网上再搜一下map的遍历方式。
运行结果:
测试用例都使用的数组:int[] scores = {59, 60, 82, 58, 71, 99, 0, 59, 65};
⑸ 什么是java面向对象编程
面向对象编程(oop)旨在将现实世界中的概念模拟到计算机中,它将现实世界中的所以事物视作对象。对象是存在的具体实体,具有明确定义的状态和行为。
⑹ Java面向对象程序编程
publicstaticvoidmain(Stringargs[]){
Scannerscanner=newScanner(System.in);
System.out.println("请输入一个开始数字:");
inta=0;
try{
a=scanner.nextInt();
}catch(Exceptione){
System.out.println("输数字不合法");
return;
}
System.out.println("请输入一个结束数字:");
intb=0;
try{
b=scanner.nextInt();
}catch(Exceptione){
System.out.println("输数字不合法");
return;
}
intsum=0;
if(a>b){
for(inti=b;i<=a;i++){
sum=sum+i;
}
}else{
for(inti=a;i<=b;i++){
sum=sum+i;
}
}
System.out.println(sum);
}
⑺ java程序实验十一 面向对象 实验目的: 数组及集合的使用及实现; 要求: 掌握数组及集合操作的
packagecom;
importjava.util.*;publicclassStudent{
privateStringname;
privateStringid;
privatedoublesumscore;
publicStudent(Stringname,Stringid,doublesumscore){
this.name=name;
this.id=id;
this.sumscore=sumscore;
}
publicStringtoString(){
return"name:"+getName()+"id:"+getId()+"sumscore:"+getSumscore();
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetId(){
returnid;
}
publicvoidsetId(Stringid){
this.id=id;
}
publicdoublegetSumscore(){
returnsumscore;
}
publicvoidsetSumscore(doublesumscore){
this.sumscore=sumscore;
}
publicstaticvoidmain(String[]args){
Student[]s={newStudent("A","1",12),newStudent("B","2",22),newStudent("C","3",32),
newStudent("D","4",142),newStudent("E","5",152),newStudent("F","6",262),newStudent("G","7",72),
newStudent("H","8",182),newStudent("I","9",92),newStudent("J","10",102)
};
s=bubbleSort(s);
Vector<Student>vector=newVector<Student>();
vector.addAll(Arrays.asList(s));
for(Iterator<Student>iter=vector.iterator();iter.hasNext();)
{
Studentstudent=iter.next();
System.out.println(student.toString());
}
List<Student>list=newArrayList<Student>();
list=Arrays.asList(s);
for(Studentstr:list){
System.out.println(str.toString());
}
Hashtable<Integer,Student>table=newHashtable<Integer,Student>();
for(inti=0;i<s.length;i++){
table.put(i,s[i]);
}
for(inti=0;i<s.length;i++){
System.out.println(table.get(i).toString());
}
}
publicstaticStudent[]bubbleSort(Student[]args){//冒泡排序算法
Studenttemp;
for(inti=0;i<args.length-1;i++){
for(intj=i+1;j<args.length;j++){
if(args[i].getSumscore()>args[j].getSumscore()){
temp=args[i];
args[i]=args[j];
args[j]=temp;
}
}
}
returnargs;
}
}
//楼主,说实话你的要求真多,而且分少~~~~
⑻ java面向对象编程
建个数据库学生表,java链接数据库对其进行操作,很多方法可以实现(mybatis,ibatis,jdbc),显示在页面就可以了
⑼ 用java进行面向对象编程,面向对象是什么意思,请通俗一点解释
通俗一点说就是你可以设定一个类,比如汽车类Car。汽车有很多属性,比如颜色color,品牌brand。
然后呢,你new一个对象出来。Car myCar=new Car()
类具体到某一个特定的个体的时候,就是一个对象了。
我们可以给myCar设定颜色和品牌,还可以让它干好多别的事情。
再说人类。人类是一个很大的群体,但是特定到某一个人,比如你,比如我,比如小明,张三,李四,每个特定的人,都是一个对象,他属于“人”这个类
你先明白java中类的概念。类具体到某个实例,就是对象了